我有一個函數以模塊mymodule中的兩個參數開頭。我如何從命令行運行此功能。如何在linux命令行的模塊中運行帶有參數的函數
我試試這個:
erl -name [email protected] -s mymodule start 5 10
但它會引發錯誤: { 「初始化終止於do_boot」,{民主基金,[{MyModule的,啓動,[ '5', '10']} {初始化,start_it,1},{初始化,start_em,1}]}}
我希望能夠從一個bash文件
我有一個函數以模塊mymodule中的兩個參數開頭。我如何從命令行運行此功能。如何在linux命令行的模塊中運行帶有參數的函數
我試試這個:
erl -name [email protected] -s mymodule start 5 10
但它會引發錯誤: { 「初始化終止於do_boot」,{民主基金,[{MyModule的,啓動,[ '5', '10']} {初始化,start_it,1},{初始化,start_em,1}]}}
我希望能夠從一個bash文件
運行這個功能,我認爲它預計啓動功能,具有元數一個,所以在這種情況下,它試圖調用module:start(['5','10'])。所以改變你的啓動函數來接受[arg1,arg2]中的2個參數列表。另外,請查看-run和-s標誌上的文檔。 -s將參數作爲原子傳遞,而將其作爲字符串傳遞給它們
-run Mod [Func [Arg1, Arg2, ...]](init flag) Makes init call the specified function. Func defaults to start. If no arguments are provided, the function is assumed to be of arity 0. Otherwise it is assumed to be of arity 1, taking the list [Arg1,Arg2,...] as argument. All arguments are passed as strings. See init(3).