erlang 一个脚本是否可以调用另一个脚本函数?

wb1gzix0  于 2022-12-08  发布在  Erlang
关注(0)|答案(1)|浏览(159)

a.escript:

main(_)->
    b:read_config().

b.escript:

-module(b).
%% function exported
read_config()->
    %% read file
    io:format("hh~n").

如果我把b.escript转换成b.erl,然后编译成b.beam,它就可以工作了,但是我不想手动编译。
也许我可以像这样插入c:c(b)

main()->
    c:c(b),
    b:read_config().

使用b.eam时无法自动加载b.escript

t98cgbkg

t98cgbkg1#

是,可以使用compile:file/1

a.文字描述

%%This First line (i.e. the comment) MUST exist if we would like to call the script using 'escript <filename>', otherwise compilation error will occur. See 'https://www.erlang.org/doc/man/escript.html'
main([]) ->
    compile:file(b),
    b:read_config().

B.错误

-module(b).
-export([read_config/0]). %%Function MUST be exported, otherwise it will not be recognized from caller (e.g. escript )

read_config()->
    %% read file
    io:format("hh~n").

从Shell调用

$ escript a.escript
hh

相关问题