为什么不是 [1..5] == [1,2,3,4,5]?



为什么不是[1..5] == [1,2,3,4,5]

为什么不是[1..5].to_a == [1,2,3,4,5]

如何从[1..5]转换为[1,2,3,4,5]

[1..5]是一个只有一个元素的数组,即范围对象1..5

[1..5].to_a仍然是[1..5]

(1..5).to_a[1,2,3,4,5]

[1..5]是一个只有一个元素的数组-一个范围对象,所有迭代它的尝试都将失败。数组中可以包含多种对象。在上面的例子中,我将范围视为一个范围,并直接从中生成任何数组。

1.9.3-p125 :008 > (1..5).to_a  # Note regular parens.
 => [1, 2, 3, 4, 5] 
1.9.3-p125 :009 > 

要做更多密切你所说的-从[1.5]开始-你可以做:

1.9.3-p125 :013 > newarray = []
1.9.3-p125 :014 > [1..5][0].each {|e| newarray << e}
 => 1..5 
1.9.3-p125 :015 > newarray
 => [1, 2, 3, 4, 5] 
1.9.3-p125 :016 > 

相关内容

  • 没有找到相关文章

最新更新