● ステートメントリファレンス
read 、data 、restore 応用例
read と data を使って、複数の条件分岐を纏める事ができます。
例1.
$cmp
data 件数
data 条件A , 条件B , 条件C , ...
restore $cmp : read cnt
for i = 1 to cnt
read comp_result : break comp_result = 0
next
if i > cnt then
真の場合の処理
else
偽の場合の処理
endif
この処理は 条件A ∧ 条件B ∧ 条件C ∧ … を実行します。
条件A ∨ 条件B ∨ 条件C ∨ … の場合は次のようになります。
例2.
$cmp
data 件数
data 条件A , 条件B , 条件C , ...
restore $cmp : read cnt
for i = 1 to cnt
read comp_result : break comp_result <> 0
next
if i <= cnt then
真の場合の処理
else
偽の場合の処理
endif
on 〜 goto や on 〜 gosub と組み合わせる事で、条件に応じて個別の処理へジャンプさせる事もできます。件数が多い場合は、条件分岐の羅列よりも見易いコードにする事ができます。
例3.
$select_case
data 件数
data 条件A , 条件B , 条件C , ...
restore $select_case : read cnt
for i = 0 to cnt - 1
read comp_result : break comp_result
next
if comp_result = 0 then $default
on i goto $処理A , $処理B , $処理C , ...
$処理A
条件A についての処理
$処理B
条件B についての処理
$処理C
条件C についての処理
・
・
・
$default
どの条件にも当てはまらない場合の処理