【问题标题】:How run a function with parameter in a module from linux command line如何从linux命令行在模块中运行带有参数的函数
【发布时间】:2012-11-12 19:48:27
【问题描述】:

我在模块 mymodule 中有一个以两个参数开头的函数。如何从命令行运行此函数。

我试试这个:

erl -name myname@myserver.com -s mymodule start 5 10

但它会引发错误: {"init 终止于 do_boot",{undef,[{mymodule,start,[['5','10']]},{init,start_it,1},{init,start_em,1}]}}

我希望能够从 bash 文件中运行这个函数

【问题讨论】:

    标签: erlang


    【解决方案1】:

    我认为它期望 start 函数的元数为 1,所以在这种情况下它试图调用 module:start(['5','10'])。因此,更改您的启动函数以接受 [arg1,arg2] 中的 2 个参数列表。此外,请查看有关 -run 和 -s 标志的文档。 -s 将参数作为原子传递,而 -run 将它们作为字符串传递

    -run Mod [Func [Arg1, Arg2, ...]](初始化标志) 使 init 调用指定的函数。 Func 默认启动。如果没有提供参数,则假定函数的参数为​​ 0。否则,假定为参数 1,将列表 [Arg1,Arg2,...] 作为参数。所有参数都作为字符串传递。参见初始化(3)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-23
      • 2014-09-30
      • 2011-12-03
      • 1970-01-01
      • 1970-01-01
      • 2011-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多