【问题标题】:How to set multiple command line argument for single Flag in erl如何在erl中为单个标志设置多个命令行参数
【发布时间】:2019-05-25 06:21:58
【问题描述】:

在 Erlang 中,

我们可以通过命令行参数将多个输入传递给 Erlang 系统。

erl -sname name1 -setcookie abcd

如何为单个 Flag 传递多个值?

【问题讨论】:

    标签: erlang init


    【解决方案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 中阅读有关处理命令行参数的更多信息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-11-04
        • 2016-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-03
        相关资源
        最近更新 更多