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

begin
first
返回最初的元素。

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:

 

评分:0

我来说两句

日历

« 2024-04-24  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 150884
  • 日志数: 185
  • 文件数: 6
  • 建立时间: 2007-08-06
  • 更新时间: 2015-01-06

RSS订阅

Open Toolbar