IntroJS の範囲式
IntroJS では、for 文の式の部分に、範囲式を指定できます。 (逆に、for 文以外では、範囲式を使うことはできません。)
範囲式の書式は次のとおりです。
初期値 範囲演算子 境界値 [スキップ演算子 増分]
範囲式には、範囲演算子が必須です。 次の範囲演算子があります。
範囲演算子 | 初期値 | 境界値 | 増分 |
---|---|---|---|
:< | 含む | 含まない | +1 |
:<= | 含む | 含む | +1 |
:> | 含む | 含まない | -1 |
:>= | 含む | 含む | -1 |
次の例では 0, 1, 2 を 1 行ずつ出力します。
for i in 0 :< 3 write_int(i) end
次の例では 0, 1, 2, 3 を 1 行ずつ出力します。
for i in 0 :<= 3 write_int(i) end
次の例では 3, 2, 1 を 1 行ずつ出力します。
for i in 3 :> 0 write_int(i) end
次の例では 3, 2, 1, 0 を 1 行ずつ出力します。
for i in 3 :>= 0 write_int(i) end
スキップ演算子は、:%
のみがあり、続けて増分を指定します。
スキップ演算子と増分の部分は、省略可能です。 省略すると、前記のように、範囲演算子によって増分のデフォルト値が採用されます。
次のように記述すると、0, 2, 4 を 1 行ずつ出力します。
for i in 0 :< 5 :% 2 write_int(i) end
他のプログラミング言語では、範囲演算子を ..
や ...
を使うことが多いですが、どっちが含むで、どっちが含まないか、分かりにくいと感じていたので、
IntroJS では、(ドットを縦に並べたように見える)コロンと、比較演算子の組み合わせで表現してみました。
ということで、整数型しか使えない簡易プログラミング言語 IntroJS は、いかがでしょうか。