什么是范围?
本课属于 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"]挑战
入门读取两个整数(两行输入):一个 start 和一个 end_value。输出三行:
- 将闭区间
start..end_value作为数组输出(使用inspect) - 将开区间
start...end_value作为数组输出 - 闭区间的大小
输入 1,然后输入 5,输出为:
[1, 2, 3, 4, 5]
[1, 2, 3, 4]
5亲手试试
start = gets.to_i
end_value = gets.to_i
# TODO:输出包含端点的范围、不包含端点的范围,以及包含端点时的元素个数
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Ruby 在线编译器