is_function vs tuples (functions in non-local modules)
mats cronqvist
mats.cronqvist@REDACTED
Fri Jun 11 14:02:54 CEST 2004
> Parser_tr = fun(X)->parser:tr(X) end.
#Fun<erl_eval.6.39074546>
> is_function(Parser_tr).
true
in your example Fun is a tuple.
> Here's another one that's got me scratching my head:
>
> 1> c(parser).
> {ok,parser}
> 2> parser:tr("x").
> "<tr>x</tr>"
> 3> Fun = {parser, tr}.
> {parser,tr}
> 4> Fun("x").
> "<tr>x</tr>"
> 5> {parser, tr}("x").
> "<tr>x</tr>"
> 6> is_function(Fun).
> false
> 7> is_function({parser, tr}).
> false
>
> Is there any way to tell?
>
> Reason being, I want to pass a list of things to a function. This
> function should only call the ones that are actually functions. I guess
> I could use catch, but that's got it's own problems (if it is a function
> and it errors out, I want the error to be passed on up) and doesn't seem
> elegant.
>
> Thankyou once again for your time,
More information about the erlang-questions
mailing list