区間型
Rangeオブジェクトの最も基本的な使い方は、イテレータとしての使用です。
for! 0..9, i =>
print! i
Pythonと違い、末尾の数字は含まれることに注意してください。
しかし、Rangeオブジェクトの使い道はこれだけではありません。型としても使うことが出来ます。このような型を区間型(Interval type)と呼びます。
i: 0..10 = 2
Nat型は0..<Infと等価な型で、IntとRatio型は-Inf<..<Infと等価な型です。
0..<Infは0.._と書くことも出来ます。_は、Int型の任意のインスタンスを意味します。
イテレータとしても使えるため、10..0などのように逆順で指定することも出来ますが、
<.., ..<, <..<の向きは逆転できません。
a = 0..10 # OK
b = 0..<10 # OK
c = 10..0 # OK
d = 10<..0 # Syntax error
e = 10..<0 # Syntax error
f = 10<..<0 # Syntax error
範囲演算子(range operator)は、Ordな不変型であるならば数値以外の型にも使用できます。
Alphabet = "A".."z"