如何在erl中为单个标志设置多个命令行参数
Posted
技术标签:
【中文标题】如何在erl中为单个标志设置多个命令行参数【英文标题】:How to set multiple command line argument for single Flag in erl 【发布时间】:2019-05-25 06:21:58 【问题描述】:在 Erlang 中,
我们可以通过命令行参数将多个输入传递给 Erlang 系统。
erl -sname name1 -setcookie abcd
如何为单个 Flag 传递多个值?
【问题讨论】:
【参考方案1】:我们可以将多个值发送到一个标志。
值由空格字符区分
erl -key1 val1 val2 val3
Erlang/OTP 17 [erts-6.3] [source] [64-bit] [smp:2:2] [async-threads:10] [kernel-poll:false]
Eshell V6.3 (abort with ^G)
1> init:get_argument(key1).
ok,[["val1","val2","val3"]]
您可以传递多个键值对,例如
erl -key1 val1 val2 val3 -key2 val11 val12 val13
Erlang/OTP 17 [erts-6.3] [source] [64-bit] [smp:2:2] [async-threads:10] [kernel-poll:false]
Eshell V6.3 (abort with ^G)
1> init:get_argument(key2).
ok,[["val11","val12","val13"]]
2> init:get_argument(key1).
ok,[["val1","val2","val3"]]
如果您多次传递密钥,您将获得类似的值
erl -key1 val1 val2 val3 -key1 val11 val12 val13
Erlang/OTP 17 [erts-6.3] [source] [64-bit] [smp:2:2] [async-threads:10] [kernel-poll:false]
Eshell V6.3 (abort with ^G)
1> init:get_argument(key1).
ok,[["val1","val2","val3"],["val11","val12","val13"]]
2>
【讨论】:
【参考方案2】:您可以在 Erlang 文档here 中阅读有关处理命令行参数的更多信息。
【讨论】:
以上是关于如何在erl中为单个标志设置多个命令行参数的主要内容,如果未能解决你的问题,请参考以下文章