2015-03-02 15 views
2

这下面的行给我什么用户在命令被写提示Erlang如何检查命令行的第一个值?

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

我的问题是,我想写一个如果检查条件,如果用户输入“#$”的线作为第一个参数然后它应该显示一些错误信息。

任何建议或意见将不胜感激。提前致谢 !!

回答

0

首先,你可能要拆你的论点:

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 
1

一个简单的解决方案:

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