erlang receive語句大詮釋

2022-07-21 18:57:10 字數 699 閱讀 2206

摘自

erlang 訊息接收語句 (receive ... end) 的用法很細膩.一書寫得不是透徹,特分析綜合如下.

receive

pattern1 [when guard1] -> expression1;

pattern2 [when guard2] -> expression2;

...after interval -> expression0

endreceive語句當且僅當有乙個訊息到達時才被觸發;

receive語句當且僅當expressionn(n=0,1,2,...)被求值後退出且計時器清零;

receive語句觸發後若無expressionn被求值,就掛起等待下一次觸發;

receive語句通常植入乙個獨立的程序;

receive語句至少在interval(毫秒)內,會有expressionn被求值;

receive語句通常被置入乙個函式,並被建立乙個程序;

expressionn可以包含函式重入,通常是在expression0;

expression(1,2,..)如果被求值的話,after子句被忽略;

expressionn只要有乙個被求值,即告推出;

after子句缺失等價於after infinity;

after 0意味著如果expression(1,2,..)不被求值的話,expresion0 立刻會被求值;

語句 switch語句

switch語句的特點如下 1 switch x 被選擇的內容 即x 只能是byte,short,int,char這四種型別 2 備選答案並沒有指定的順序,但是執行肯定是從第乙個case開始的,如果其中有匹配的case,執行完,通過該case的break就結束了switch。如果沒有匹配的case,...

Python while語句,for語句

usr bin python coding utf 8 filename whiletest.py num 23running true while running i int raw input input a number if i num print right running false e...

迴圈for語句 if語句

if語句 if 表示式 else if 表示式 for迴圈 for var i 0 i 10 i if語句 if 表示式 else if 表示式 for迴圈 for var i 0 i 10 i while迴圈 while 表示式 使用場景 for 次數確定的時候使用 while 直到滿足摸個條件的...