help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Opinions on Matlab compatibility, Octave development


From: bpabbott
Subject: Re: Opinions on Matlab compatibility, Octave development
Date: Wed, 02 Jun 2010 14:11:01 -0700 (PDT)

On Jun 02, 2010, at 05:00 PM, Judd Storrs <address@hidden> wrote:

2010/6/2 Jaroslav Hajek <address@hidden>:
> I don't think it's that bad. Surely, the necessity to parenthesize the
> keywords is a bit of burden, but otherwise the approach is basically
> equivalent, from a user point of view, to other languages with
> explicit keyword arguments, like Python (I don't know IDL but I assume
> it's similar there). The positive is that it doesn't need a special
> syntax, and using runtime-constructed argument lists is natural. A
> disadvantage is that parsing is difficult, but a lot can be handled by
> extra funcs (cf. Octave's new parseparams).

One of the things that is easy in IDL that I occasionally wish I knew
how to do easily in octave is to write fully functional wrapper
functions. I've never succeeded in doing this simply in octave/matlab
but probably it's a limitation of my octave/matlab skills.

As a simple exercise, how does one create a wrapper to plot() that
simply adds "markersize",3 to the property list and then calls plot?
This doesn't work:

function myplot(varargs)
return plot(varargs, "markersize",3)
endfunction

plot(1:4,"*","markersize",3)
myplot(1:4,"*")
myplot(1:4,"*","color","red")

I've tried other things but I haven't figured it out. Bonus points if
you figure out how to get it to work with varargout functions.

I haven't tested it, but this should work

function h = myplot (varargs)
h = plot (varargs{:}, "markersize", 3);
endfunction

Ben

reply via email to

[Prev in Thread] Current Thread [Next in Thread]