范围类型 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
本文深入探讨了Ruby语言中Range类型的构造、使用场景及其在序列、条件判断和区间验证中的应用。详细介绍了如何利用`s..e`和`s...e`创建包含或不包含结束值的范围,并提供了实际代码示例。
427

被折叠的 条评论
为什么被折叠?



