Menu
CoddyTech

什么是范围?

本课属于 Coddy Ruby 学习旅程的“逻辑与流程”单元。第 6 课,共 56 课。

你已经在 for 循环和数组切片中使用过范围。不过,范围是一个真正的 Ruby 对象,不只是语法,它还有自己的方法。

使用 ..(两个点,包含结束值)或 ...(三个点,不包含结束值)来创建一个:

inclusive = 1..5    # 1, 2, 3, 4, 5
exclusive = 1...5   # 1, 2, 3, 4

使用 to_a 将范围转换为数组,查看它具体包含哪些值:

puts (1..5).to_a.inspect    # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect   # [1, 2, 3, 4]

范围不只适用于数字。它们也适用于任何有顺序的内容,包括字母:

puts ("a".."e").to_a.inspect  # ["a", "b", "c", "d", "e"]
challenge icon

挑战

入门

读取两个整数(两行输入):一个 start 和一个 end_value。输出三行:

  1. 将闭区间 start..end_value 作为数组输出(使用 inspect)
  2. 将开区间 start...end_value 作为数组输出
  3. 闭区间的大小

输入 1,然后输入 5,输出为:

[1, 2, 3, 4, 5]
[1, 2, 3, 4]
5

亲手试试

start     = gets.to_i
end_value = gets.to_i

# TODO:输出包含端点的范围、不包含端点的范围,以及包含端点时的元素个数
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Ruby 在线编译器