Erlang如何检查命令行的第一个值



下面这行给出了在命令提示符中向用户写入的内容

Y= io:get_line("Send message --> ").

我的问题是,我想写一个if条件,检查用户是否在行中输入"#$"作为第一个参数,然后它将显示一些错误消息。

如有任何建议或意见,我们将不胜感激。提前感谢!!

一个简单的解决方案:

case io:get_line("Send message --> ") of
    "#$" ++ _Rest ->
        error(something_wrong);
    Args ->
        work_with(Args)
end.

首先,您可能想要拆分您的参数:

Line = io:get_line("Send message --> "),
Args = string:tokens(Line, [$s, $t, $n]).

现在您有了字符串参数列表,让我们使用模式匹配:

case Args of
    ["#$" | _TailArgs] -> 
        error("some error message");
    Args ->
        do_something_with(Args)
end

相关内容

最新更新