on

数値による分岐

on p1 goto/gosub ラベル0,ラベル1…

p1=0~(0) : 分岐のための値
ラベル0~ : 分岐先のラベル名

解説

on命令は、p1で指定された値が0,1,2…に応じて分岐先を選択します。
「on 数値 goto」または、「on 数値 gosub」 のような書式で、続いて分岐する先のラベルを1つ以上「,」で区切って記述することができます。
指定された数値が0の場合はラベル0が、数値が1の場合はラベル1が分岐の対象になります、 以降2,3,4…と対応したラベルを任意の数だけ記述していくことが可能です。
「on 数値 goto」の場合は goto命令と同じ単純な分岐、「on 数値 gosub」の場合はgosub命令と同じサブルーチンジャンプを行ないます。
数値がマイナス値か、対応したラベルが指定されていない場合は分岐は行なわれずに次の行に進みます。
n88系のBASICと違い最初のラベルが数値0に対応しているのでご注意下さい。(n88系BASICでは数値1が最初のラベルになります)

サンプル

	a=1
	on a goto *a0,*a1,*a2
	mes "その他":stop
*a0
	mes "A=0":stop
*a1
	mes "A=1":stop
*a2
	mes "A=2":stop

関連項目

goto指定ラベルにジャンプ
gosub指定ラベルにサブルーチンジャンプ

サンプル逆引き (9)

clbk_gwlwndpproc.hsp
d3m_techdemo.hsp
fonts.hsp
mkexe.hsp
multitouch2.hsp
multitouch3.hsp
sample_05_DrawText.hsp
tamane2.hsp
tamane4.hsp

情報

バージョン3.4
作成日2013/12/09
著作者onitama
URLhttp://hsp.tv/
備考ver3.4標準命令
タイプ内蔵命令
グループプログラム制御命令
対応環境
  • Windows 版 HSP
  • コマンドライン版 HSP
  • HSPLet
hs ファイルhsphelp\i_prog.hs