关于ranges 我的对于他的定义就像一个盒子,只要附合盒子的要求才能放进去。在于ruby中关于它的处理,相对来说太方便了,比较灵活.
关于 Ranges as Sequences ruby 中只要用“..”或“。。。”就可以指定一个顺序的rangs
如1到10你可以如此写1..10或者你想要a到z的按顺序出来,你只要'a'..'z' ,如果你有一个数组想按顺序那么只要
0...anArray.length很方便,如果你想把一个range object你也可以用to_a方法,就可以的进行转换了如
(1..10).to_a >> [1,2,3,4,5,6,7,8,9,10]
('bar'..'bat').to_a >> ['bar,'bas','bat']
当然 在rang中也有很多中方法来检测您所想的内容是否所定义的rang
digits = 0..9 | ||
digits.include?(5) | » | true |
digits.min | » | 0 |
digits.max | » | 9 |
digits.reject {|i| i < 5 } | » | [5, 6, 7, 8, 9] |
digits.each do |digit| | ||
dial(digit) | ||
end |
===
, 它是一个等同判断的如果符合就返回true,如果不符合就返回false
(1..10) === 5 | » | true |
(1..10) === 15 | » | false |
(1..10) === 3.14159 | » | true |
('a'..'j') === 'c' | » | true |
('a'..'j') === 'z' | » | false |