條件判斷:Conditionals
02-01 IF
中文:條件測試。
原文:perform a conditional test
格式:#if (expression) {true-value commands} {false-value commands}
範例:#if (@a=1) {#say ture
#var a 0} {#say false
#var a 1}
當a=1,執行#say ture,並將a改成0;a=0,執行#say false,並將a改
成1。當使用者謀求強大的機器人時,必定要學會的指令。它允許使用
者只設定ture時,要做的事。但建議寫完整為佳,可以用{#noop}。有並
列式和樹枝狀兩種寫法,一個耗資源好管理,另一個相對省資源但比較
雜亂。
02-02 CASE
中文:從清單選擇指令。
原文:select a command from a list
格式:#case expression {commands} {commands} ......
範例:#case @a {#say number @a
#var a 2} {#say number @a
#var a 3} {#say number @a
#var a 1} {#say command error
#var a 1}
當a分別為1,2,3時,分別執行前三項指令。和if相比,case是個效果更
強大的指令,它提供節省資源並好管理的途徑-扁平的結構;不過,當
判斷式的結果超過給定的選項時,它會選擇最後一項來執行,在本例,
可以看到有四個選項,第四個項目就會為了避免預期外結果而增加的防
錯項目。