Erlang 如何检查命令行的第一个值?
Erlang how to check the first value of command line?
下面这行告诉我用户在命令提示符下写了什么
Y= io:get_line("Send message --> ").
我的问题是,我想编写一个 if 条件来检查用户是否在行中输入“#$” 作为第一个参数 然后它会显示一些错误信息。
如有任何建议或意见,我们将不胜感激。提前致谢 !!
首先,您可能想要拆分您的论点:
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
一个简单的解决方案:
case io:get_line("Send message --> ") of
"#$" ++ _Rest ->
error(something_wrong);
Args ->
work_with(Args)
end.
下面这行告诉我用户在命令提示符下写了什么
Y= io:get_line("Send message --> ").
我的问题是,我想编写一个 if 条件来检查用户是否在行中输入“#$” 作为第一个参数 然后它会显示一些错误信息。
如有任何建议或意见,我们将不胜感激。提前致谢 !!
首先,您可能想要拆分您的论点:
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
一个简单的解决方案:
case io:get_line("Send message --> ") of
"#$" ++ _Rest ->
error(something_wrong);
Args ->
work_with(Args)
end.