如何在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中为单个标志设置多个命令行参数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中为多个进程提供单个命令窗口

使用 FxCop 命令行参数使用多个自定义字典

如何将命令行参数传递给 c 程序

如何在intellij中为maven命令行项目添加程序参数?

如何在 Python3 中添加带有标志的命令行参数?

使用多个帐户的 OpenShift rhc 设置