String Erlang模式匹配问题

String Erlang模式匹配问题,string,list,erlang,pattern-matching,validation,String,List,Erlang,Pattern Matching,Validation,所以我正在编写一个Erlang程序,我有一条消息作为字符串通过套接字传入 我需要检查以确保消息的格式为:[整数,空格,整数,“\r\n”] e、 g.“1 3\r\n”,然后仅在消息与此格式匹配时执行操作 我试过了 case Move of [X1, 32 ,Y1,13,10]-> %do stuff.... true-> %don't do stuff... end 如果消息正确,它可以正常工作,但如果消息不匹配,它似乎会

所以我正在编写一个Erlang程序,我有一条消息作为字符串通过套接字传入

我需要检查以确保消息的格式为:[整数,空格,整数,“\r\n”] e、 g.“1 3\r\n”,然后仅在消息与此格式匹配时执行操作

我试过了

 case Move of
     [X1, 32 ,Y1,13,10]->
         %do stuff....  
    true-> 
       %don't do stuff...  
    end 
如果消息正确,它可以正常工作,但如果消息不匹配,它似乎会崩溃

我有一种感觉,我可能完全走错了路,但不知道还有什么可以尝试

为任何帮助或建议干杯=]

编辑:没关系!将
“true->”
替换为
”使其工作正常-我真傻

我仍然有兴趣知道这是最好的方法,还是有更好的方法


再次干杯:)

您必须使用匹配任何内容的-通配符,而不是true

哦,看到你的编辑太晚了

第二个问题的答案是-使用函数而不是案例:

f([X1, 32, Y1, 13, 10]) ->
  ...;
f(_) ->
  ok.

你说更好的方法是什么意思?测试结构?在这种情况下,使用模式匹配是一条出路。您是使用
案例
还是使用单独的功能,取决于最适合的功能。还是你在想别的什么?