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…EndIf

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