Ruby语言入门(20)- 内部类 -Range
上一篇 /
下一篇 2013-02-06 13:36:04
/ 个人分类:语言
Range类是范围对象的类。范围对象是由范围操作符..或...生成的。由..操作符生成的范围对象包括范围终点,而由...操作符生成的范围对象不包括范围终点。
for i in 1..5 (range)
...
end
Range.new(first,last[, exclude_end])
生成并返回一个从first到last的范围对象。若exclude_end为真,则该对象不包含范围终点。若省略exclude_end,则包含范围终点。生成对象时,会执行 first <=> last 以检查参数的合法性。
Range.new(1,5)
=>1..5
Range.new(1,5,true)
=>1...5
Range.new(1,5,false)
=>1..5
self === other
include?(other)
若other在范围内则返回真。===主要用在case句的比较中.
r1=Range.new(1,5)
r1 === 2
=>true
r1.include?(5.1)
=>false
比较字符串时,include?将按照字典顺序进行比较
("a" .. "c").include?("ba")
=> true
("a" .. "c").member?("ba")
=> false
r1.begin
=>1
each {|item| ... }
对范围内的元素进行迭代操作。
r1.each{|n| puts n}
1
2
3
4
5
=>1..5
end
last
返回范围终点。这与范围对象是否包含范围终点无关。
(1..5).end
=> 5
(1...5).last
=> 5
exclude_end?
范围对象不包含范围终点时返回真。
(1..5).exclude_end?
=> false
(1...5).exclude_end?
=> true
step([s]) {|item| ... }
以s的步长对范围内的元素进行迭代操作。s是正整数。默认值为1。
(1..5).step(2) {|n| puts n}
1
3
5
=>1..5
(1...5).step(2) {|n| puts n}
1
3
=>1...5
收藏
举报
TAG: