SELECT-SELEND

SELECT文は式の値に応じて多分岐を行います。

条件式がTRUEの場合、最初に真となるCASEを実行します。

CASE式で式をカンマで区切ると論理和(OR)扱いとなります。

C言語のswitch文のようにCASEの終わりにbreakを書く必要はありません。

構文
SELECT 式
CASE 式
処理
[CASE 式, 式]
処理
[DEFAULT]
処理
SELEND
引数
戻り値

SELECT文の使い方

以下のようにIF文で書いたときに条件式が同じで値だけが変わるようなときには、SELECT文を使った方がきれいに書けます。

UWSC
IFB n MOD 2 = 0 THEN
	PRINT "偶数です"
ELSEIF n MOD 2 = 1 THEN
	PRINT "奇数です"
ELSE
	PRINT "整数ではありません"
ENDIF

上のIF文と同じ処理をSELECT文で書いた場合。

UWSC
SELECT n MOD 2
	CASE 0
		PRINT "偶数です"
	CASE 1
		PRINT "奇数です"
	DEFAULT
		PRINT "整数ではありません"
SELEND

論理演算子

式は論理演算子を使って書くこともできます。

UWSC
SELECT TRUE
	CASE num >= 0 AND num < 10
		PRINT "0以上10未満です"
	CASE num >= 10 AND num < 20 
		PRINT "10以上20未満です"
	DEFAULT
		PRINT "それ以外です"
SELEND
論理和

カンマ(,)は論理和(OR)と同じです。

UWSC
SELECT TRUE
	CASE num = 1, num = 3
	CASE num = 2, num = 4
	CASE num = 5, num = 6
SELEND
UWSC
SELECT TRUE
	CASE num = 1 OR num = 3
	CASE num = 2 OR num = 4
	CASE num = 5 OR num = 6
SELEND

この記事は役に立ちましたか?

はい
いいえ
ご協力ありがとうございます。

関連記事

IFイフ
IF文は条件によって処理を分岐させたいときに利用します。条件が成り立たないときの処理(偽)は省略することができます。処理が2文以上のときはIFB-ENDIFを使います。
IFB-ENDIF
IFB-ENDIF文は条件によって処理を分岐させたいときに利用します。ELSEIF文で条件、処理を複数書くことができます。処理が1文のときはIF文でも書くことができます。