# EVALUATE文

説明書の該当箇所: 6.5.13 EVALUATE文

  EVALUATE文.cob     送料の判定。実際の使いかたに近い例
  EVALUATE文2.cob    ALSO と THRU と NOT の確認。OK が並びます

どちらも Standard 版で動きます。

# EVALUATE文.cob — 送料を決める

会員種別と購入金額の2つを同時に見て、送料を決めます。

  EVALUATE 会員種別       ALSO 購入金額
  WHEN     "ゴールド会員" ALSO 0 THRU 3000     → 600円
  WHEN     "ゴールド会員" ALSO ANY             →   0円
  WHEN     "一般会員"     ALSO 0 THRU 5000     → 900円
  WHEN     "一般会員"     ALSO ANY             → 300円
  END-EVALUATE.

  ALSO   条件を並べる。上下の位置が対応します
  THRU   範囲で指定する
  ANY    何でもよい。上の WHEN で外れた残りを受けます

WHEN は上から順に照合され、最初に合った1つだけが実行されます。
そのため、範囲の狭いほうを先に、ANY を後に書きます。

配布状態は「一般会員」「6000円」なので、300円 と表示されます。
値を書き換えて、どの WHEN に入るか試してみてください。

# EVALUATE文2.cob — 書き方の確認

NOT を付けた範囲指定と、WHEN を続けて書いて処理を共有する形を確かめます。

  WHEN 3 ALSO NOT 50 THRU 150
  WHEN ANY ALSO ANY
     display "OK"

条件だけを並べた WHEN は、次の WHEN の処理をそのまま使います。
