Subject: Re: [erlang-questions] escript exception error,
undefined function, why can't use fun in escript
script?



Yes, you may have other functions than main/1 in escripts. But the escript must be compiled. ​​Either compiled in run-time ​(using -mode(compile)​)​ ​or pre-compiled ​(using a beam file or archive).
/Håkan
On Sun, Aug 6, 2017 at 3:44 PM, Karl Velicka <[email protected]> wrote:
Hi,

I've run into this myself once - it seems that you can't have
functions other than main/1 in escripts, although this doesn't appear
to be documented.

The way around this is to make your scripts compiled, these can have
multiple functions defined in them. You'll need to add this line
somewhere in your .escript file:

-mode(compile).


Cheers,
Karl

On 6 August 2017 at 12:44, lib nl <[email protected]> wrote:
> Hi,
>
>
>
> On Linux Mint 18.2 + Erlang/OTP 20.0, there are two escript scripts: a and
> b.
>
>
>
> 1.      a
>
> #!/usr/bin/env escript
>
> main(_) ->
>
>        L = lists:map(fun(N) -> 2*N end, lists:seq(1,10)),
>
>        io:format("~p~n", [L]).
>
>
>
>
>
> 2.      b
>
> #!/usr/bin/env escript
>
> main(_) ->
>
>        L = lists:map(fun f2/1, lists:seq(1,10)),
>
>        io:format("~p~n", [L]).
>
>
>
> f2(N) -> 2 * N.
>
>
>
>
>
> $ chmod u+x a
>
> $ ./a
>
> [2,4,6,8,10,12,14,16,18,20]
>
>
>
> $ chmod u+x b
>
> $ ./b
>
&...

gt; escript: exception error: undefined function erl_eval:f2/1
>
>
>
>
>
> So why can’t use fun in escript script? Is this a limitation or known issue?
> Are there any references that can give more info regarding this behavior?
> Thanks!
>
>
>
>
>
>
>
> Thanks!
>
>
>
>
>
>
> _______________________________________________
> erlang-questions mailing list
> [email protected]
> http://erlang.org/mailman/listinfo/erlang-questions
>
_______________________________________________
erlang-questions mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-questions



Programming list archiving by: Enterprise Git Hosting