在 Ruby 中,范围(Range)是一个表示一系列连续值的对象。范围可以表示连续的数字、字符或者时间等。有两种类型的范围:包含末端的范围(inclusive range)和不包含末端的范围(exclusive range)。

包含末端的范围
inclusive_range = 1..5  # 包含1到5的所有整数

# 使用范围进行迭代
inclusive_range.each do |num|
  puts num
end
# 输出:1 2 3 4 5

不包含末端的范围
exclusive_range = 1...5  # 包含1到4的所有整数

# 使用范围进行迭代
exclusive_range.each do |num|
  puts num
end
# 输出:1 2 3 4

字符范围
char_range = 'a'..'e'  # 包含'a'到'e'的所有字符

# 使用范围进行迭代
char_range.each do |char|
  puts char
end
# 输出:a b c d e

使用范围进行测试
value = 3

# 检查值是否在范围内
if inclusive_range.include?(value)
  puts "#{value} 在范围内"
end

# 或者使用 === 运算符
if (1..5) === value
  puts "#{value} 在范围内"
end

将范围转换为数组
range_to_array = (1..5).to_a
puts range_to_array  # 输出 [1, 2, 3, 4, 5]

范围是一个很有用的概念,特别是在迭代、测试和创建序列的情况下。


转载请注明出处:http://www.pingtaimeng.com/article/detail/13435/Ruby