Erlang: командная строка для запуска функции в файле Erl - PullRequest
7 голосов
/ 27 ноября 2010

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

exec erl file.erl

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

Например

exec erl file.erl -f function()

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

1 Ответ

14 голосов
/ 27 ноября 2010

что вам, вероятно, нужно, это erl -s module_name function_name

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

С http://www.erlang.org/doc/man/erl.html:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...