范围类型 Range
- 范围可使用
s..e
和s...e
来构造,或者通过Range.new
来构造 s..e
: 包含结束值s...e
: 不包含结束值
例子
(10..15).each do |n|
print n, ' '
end
print "-------\n"
(10...15).each do |n|
print n, ' '
end
输出
10 11 12 13 14 15 -------
10 11 12 13 14
作为序列的范围
(1..5) #==> 1, 2, 3, 4, 5
(1...5) #==> 1, 2, 3, 4
('a'..'d') #==> 'a', 'b', 'c', 'd'
作为条件的范围
score = 70
result = case score
when 0..40
"糟糕的分数"
when 41..60
"快要及格"
when 61..70
"及格分数"
when 71..100
"良好分数"
else
"错误的分数"
end
puts result
作为间隔的范围
if ((1..10) === 5)
puts "5 在 (1..10)"
end
if (('a'..'j') === 'c')
puts "c 在 ('a'..'j')"
end
if (('a'..'j') === 'z')
puts "z 在 ('a'..'j')"
end