Erlang的進程信息過濾

2009-05-06
Erlang進程之間可以通過收發信息來通信,有時可能有一堆信息從各處無序的湧來,你只想處理其中部分信息,而將其他的保留在進程的收件箱裡遲點再管,那該怎麼搞呢?其實很簡單的,看下面代碼:
...
wait_for_reply() ->
    receive
        {reply, Reply} -> handle(Reply);
        _Other -> wait_for_reply()
    end.
上述函數僅處理匹配{reply, Reply}格式的信息,其他信息因為唯一的匹配模式是一個被忽略的參數_Other,因此不會被處理而繼續留在收件箱裡~~

M-OSCAR | Powered by Blogger | Entries (RSS) | Comments (RSS) | Designed by MB Web Design | XML Coded By Cahayabiru.com