switch

比較ブロック開始

switch p1

p1 : 比較元

解説

switchcaseswend は、ブロック内に複数の条件判断と処理をまとめて書く
ことができる構文です。
p1で指定する比較元のパラメーターは、変数または式を指定することができま
す。switch以降は、

case 比較値

を置くことで、これ以降に「比較元」が「比較値」と同じだった場合に処理す
る内容を記述することができます。
caseは、ブロック内に複数記述することができ、それぞれの比較値ごとの処理
を指定できます。caseの比較が正しい場合は、 swbreakが存在するまで以降の
命令を実行します。また、caseの替わりに

default

を置くと、caseで指定したどの比較値にもあてはまらない条件の場合に以降が
実行されます。

switchブロックが終了した場合は、

swend

を必ず最後に書いておく必要があります。
以下は、switchマクロを使用したスクリプトの例です。

	a=0
	switch a               ; aを比較対象とする
	case 0                 ; aが0だった場合
		mes "A=0"
		swbreak            ; case0の条件実行終了
	case 1                 ; aが1だった場合
		mes "A=1"
	default                ; aが0以外だった場合
		mes "A!=0"
		swbreak
	swend

この例では、変数aの内容が0か1かそれ以外かで条件分岐を行なっています。
「case 0」以降は、「swbreak」までが実行されますが、「case 1」の場合は、
「swbreak」が存在しないため、「default」以降に実行される「mes "A!=0"」
も含めて実行されるので注意してください。

関連項目

caseデフォルト比較指定
defaultデフォルト比較指定
swbreak比較実行脱出指定
swend比較ブロック終了

サンプル逆引き (3)

arusave.hsp
menubar.hsp
switch.hsp

情報

バージョン3.0
作成日2004/10/12
著作者onitama
URLhttp://www.onionsoft.net/
備考ver3.0標準命令
タイプ内蔵命令
グループプログラム制御マクロ
hs ファイルhsphelp\i_prog.hs