数组中的范围

Dan*_*vis 0 ruby range

我似乎无法迭代一个范围.这是我得到的:

[1..6].to_a.each{ |n|
  puts(n)
}
# => [1..6]
Run Code Online (Sandbox Code Playgroud)

这是一次迭代而不提供每个数字.有没有办法让这项工作?

spi*_*ann 7

[1..6]没有定义范围.它定义了一个数组,其中一个元素是一个范围:

[1..6] == (1..6)
# => false
[1..6].class
# => Array

[1..6] == [(1..6)]
# => true
[1..6][0].class
# => Range
Run Code Online (Sandbox Code Playgroud)

创建范围的正确语法是(1..6):

(1..6).each { |n| puts n }
Run Code Online (Sandbox Code Playgroud)