2014-06-18 5 views
2

내가 얼랑의 패턴 매칭과 미친 문제가 있습니다Erlang 패턴이 일치하지 않지만 정확합니다. 어떻게해야합니까?

내 수신을 차단 :

... 
receive 
    {set_val,Val} -> 
     log("got: ~p",[Val]); 

    Any -> 
     log("~p is an unknown command",[Any]) 
end. 

내가 보낼 것 :

... 
{myreceive,[email protected]} ! {set_val,100} 

내 로그에 무엇이 나타납니다

{set_val,100} is an unknown command 

어떻게 첫 번째 패턴이 일치하지 않습니까? (그리고 일치 만드는 방법 : /)

답변

5

내가 볼 수있는 유일한 가능성은 발은 이미 예상 한대로 작동하는 것 같다 (100)

+0

thats it ... 너무 쉽지만 그래 그게 전부 야. – user1234

1

다른 값으로 함수에 결합되어 있다는 점이다.

1> spawn(fun() -> receive {set_val, Val} -> io:format("got: ~p~n", [Val]); Any -> io:format("~p is an unknown command",[Any]) end end) ! {set_val,100}. 
got: 100 
{set_val,100} 

mentionedPascal 이미 100 다른 뭔가에 구속 Val 변수가있을 수 있습니다.

관련 문제