Great, thanks! It looks like applicable doesn’t work on anonymous 
functions, which seems like a bug.  I guess I’ll file a ticket.



> On 29 Mar 2015, at 7:47 am, Miles Lubin <[email protected]> wrote:
> 
> Take a look at applicable().
> 
> On Saturday, March 28, 2015 at 4:30:09 PM UTC-4, Sheehan Olver wrote:
> It currently works like this, which does work with f(x)=x, f(x,y) = x+y: 
> 
> try 
>         f(0) 
> catch 
>         try 
>                 f(0,0) 
>         catch 
>                 f((0,0)) 
>         end 
> end 
> 
> This code is meant for REPL usage primarily, and so the convenience of typing 
> just Fun(f) is worth having such “questionable” code.   
> 
> 
> > On 29 Mar 2015, at 6:29 am, Mauro <[email protected] <javascript:>> wrote: 
> > 
> >> In ApproxFun, a user supplied function is approximated.  the 
> >> approximation depends on whether the function is univariate or 
> >> bivariate 
> > 
> > How does it work, if the user defines several methods? 
> > 
> > f(x) = x 
> > f(x,y) = x+y 
> > 
> >>> The method_exists function would probably be a slightly cleaner way 
> >>> to do this. 
> > 
> > method_exists should be good for generic functions but it does not work 
> > with anonymous functions.  I think this gives you the number of 
> > arguments: 
> > 
> > length(Base.uncompressed_ast(( (x,y,z)->1 ).code.def).args[1]) 
> > 
> > something similar should let you figure out whether a one-argument 
> > signature is a tuple.  Not sure though this is the preferred approach. 
> 

Reply via email to