Select...Send

依循運算式的值,將控制移至數個陳述式當中的任一個陳述式。

格式
Select運算式 Case項目 陳述式 [Case項目 陳述式 ] [Default 陳述式] Send

參數

指定數值運算式或字串運算式。
項目
指定與運算式一致類型的數值或字串運算式。
陳述式
指定1個或多個有效SPEL+陳述式或多個陳述式。

說明
在Case陳述式項目之中,若有與Select陳述式的運算式結果一致的項目,則執行最初一致的Case陳述式之後的陳述式群組。執行後,程式控制則移至緊接於Send陳述式之後的陳述式。

在Case陳述式項目之中,若有與Select陳述式的運算式結果一致的項目,則執行Default陳述式,並且程式控制移至緊接於Send陳述式之後的陳述式。

在Case陳述式項目之中,若無與Select陳述式的運算式結果一致的項目,當省略Default時,則不執行任何操作,程式控制會移至Send陳述式的下一個陳述式。

在Select陳述式的運算式上,可指定常數、變數和And、Or、Xor等運算子。Case陳述式的項目也可指定常數、變數和And、Or、Xor等運算子。此時,會將Case陳述式項目的運算結果與Select陳述式的運算式進行比較。此外,請勿在Case陳述式的項目中指定變數,否則動作會變得複雜。

參照
If…Then…Else

Select...Send範例
以下表示的是簡易的Select...Send範例。

Function Main
  Integer I
  For i = 0 To 10
    Select I
      Case 0
           Off 1;On 2;Jump P1
      Case 3
           On 1;Off 2
           Jump P2;Move P3;On 3
      Case 7
           On 4
      Default
           On 7
    Send
  Next
Fend