📅  最后修改于: 2023-12-03 15:04:56.871000             🧑  作者: Mango
Ruby Ranges 用于表示一系列的连续的对象,通常用于循环或截取。在 Ruby 中,有三种类型的 Range:inclusive range、exclusive range 和 character range。
Inclusive Range 的语法表示为两个点(..)。它包括起始值和结束值,可以作为循环的条件。
(1..5) # 包括 1 和 5
(1..) # 从 1 开始一直到无穷大
Exclusive Range 的语法表示为三个点(...)。它包括起始值但不包括结束值,也可以作为循环的条件。
(1...5) # 包括 1 不包括 5
(1...) # 从 1 开始一直到无穷大,但不包括 1
Character Range 用来表示从一个字符到另一个字符的连续序列。它的语法可以使用两个点(..)或三个点(...)。
('a'..'z') # 包括 a 和 z
('a'...'z') # 包括 a 不包括 z
Range 支持一些常用的操作:
检查 Range 是否包含某个值
(1..5).include?(3) # true
获取 Range 的长度
('a'..'z').size # 26
将 Range 转换成数组
(1..5).to_a # [1, 2, 3, 4, 5]
Range 是 Ruby 中非常有用的数据类型,可以用来表示很多实际问题中的范围。通过使用 Range,我们可以更加方便地遍历数组或枚举,以及进行截取和过滤等操作。