【发布时间】:2011-06-17 12:02:37
【问题描述】:
所以我正在编写一个 Erlang 程序,并且我有一条消息作为通过套接字传入的字符串。
我需要检查以确保消息的格式为:[Integer, Space, Integer, "\r\n"] 例如"1 3\r\n" 然后只在消息匹配此格式时才执行。
我试过了
case Move of
[X1, 32 ,Y1,13,10]->
%do stuff....
true->
%don't do stuff...
end
如果消息正确,它可以正常工作,但如果消息不匹配,它似乎会崩溃。
我有一种感觉,我可能会以完全错误的方式解决这个问题,但我不确定还有什么可以尝试的......
为任何帮助或建议干杯 =]
编辑:好吧,没关系!用"_->" 替换"true->" 使它工作得很好-_- 傻我!
我仍然很想知道这是否是解决此问题的最佳方法,或者是否有更好的方法。
再次干杯:)
【问题讨论】:
-
更好的方法是什么意思?测试结构?在这种情况下,使用模式匹配是可行的方法。无论您是使用
case还是单独的函数,都取决于最适合的方法。还是你在想别的?
标签: string list erlang pattern-matching validation