摘自
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 直到滿足摸個條件的...