Select...Case ステートメント

Select...Case ステートメントは、Select 式と、1 つまたは複数の個別の Case ステートメントの値を比較します。Case ステートメントは、宣言された順序で、そのうちの 1 つが Select 式に一致するまで、評価されます。Case ステートメントが Select 式に一致すると、その Case ステートメントに関連付けられたステートメント ブロックが実行されます。どの Case ステートメントも Select 式と一致しない場合で、オプションの Case Else ステートメントが記述されている場合は、Case Else ステートメント ブロックが実行されます。記述されていない場合は、Select ステートメントの末尾に移動します。

次の例に、単純な Select...Case ステートメントを示します。この例では、nTeeth (スプロケットの歯の数)の値が一連の Case 句と比較されます。一致が見つかった場合は、一致する Case 句のステートメントによって description の値が設定されます。いずれの Case も一致しない場合は、オプションの Case Else 句のステートメントが実行されます。

Select nTeeth
   Case 18
      description = "18 Tooth Sprocket"
   Case 21
      description = "21 Tooth Sprocket"
   Case 25
      description = "25 Tooth Sprocket"
   Case Else
      description = "Default"
End Select

Case 句は、上の例のように単純な式で構成することも、下の例のように式の一覧(カンマ区切り)で構成することができます。

Select LinkArmAssy.length
   Case 150, 175, 200
      boltDia = 12.0
   Case 225
      boltDia = 16.0
   Case 250, 275
      boltDia = 20.0
   Case Else
      boltDia = 24.0
End Select

上の例の Select ステートメントは LinkArmAssy パーツの length ルールです。最初の Case は、カンマで区切られた 3 つの式で構成されています。length ルールの値が 3 つの式のいずれか 1 つと一致する場合は、Case に関連付けられたステートメント ブロックが実行されます。