如何迭代一系列值?

时间:2013-11-26 04:22:25

标签: ruby iterator range

我理解:

array = [1,2,3,4,5]
array.each { |x| puts x } #=> 1,2,3,4,5

如何阅读包容性范围?

我放的时候:

array = [1...5]
array.each { |x| puts x } 

我得到1...5。我真的想要:1,2,3,4,5

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

1..51...5都是Ruby Range文字的示例。 [1...5]是一个包含一个元素Range的数组。您可以使用Array方法从Range创建.to_a,如(1..5).to_a

范围内的括号很重要,因为..符号的优先级相对较低。

Range值也可直接枚举,如数组,如(1..5).each {|x| puts x}

答案 1 :(得分:0)

编码如下:

(1..5).each { |x| puts x }