Erlang: Командная строка для запуска функции в файле Erl

Я могу запустить файл Erlang через командную строку или скрипт bash:

exec erl file.erl

но я не могу узнать, как напрямую запустить функцию в этом файле.

например

exec erl file.erl -f function()

любые предложения приветствуются...

1 ответов


что вы, вероятно, хотите-это erl -s module_name function_name

обратите внимание, что вы никогда не указываете файл erlang в команде erl, как в вашем примере. Erlang VM загружает все модули в пути к коду. Это включает локальный каталог.

от http://www.erlang.org/doc/man/erl.html:

- run Mod [Func [Arg1, Arg2, ...]] (init флаг) делает init вызов указанного функция. Функции по умолчанию для начала. Если никакой аргумент предоставляются, функция предполагается арности 0. В противном случае предполагается, что это arity 1, принимая список [Arg1, Arg2,...] как аргумент. Все аргументы передаются как веревка. См. init(3).

-s Mod [Func [Arg1, Arg2,...]] (init флаг) делает init вызов указанного функция. Функции по умолчанию для начала. Если никакие аргументы не приводятся, функция предполагается арности 0. В противном случае предполагается, что это arity 1, принимая списке [Arg1, Arg2,...] как аргумент. Все аргументы передаются как атомы. См. init(3).