【发布时间】:2013-03-08 13:18:10
【问题描述】:
我刚刚偶然发现了这种在 Ruby 中迭代二维数组的方式:
[[1, 2], [3, 4]].each {|x| puts x}
输出是:
1
2
3
4
我的问题很简单:为什么以及如何发生这种情况?为什么Array#each 貌似递归到第二维了?为什么输出不如下?
[1, 2]
[3, 4]
【问题讨论】:
-
[[1, 2], [3, 4]].each {|x| p x} -
"为什么 Array#each 似乎递归到第二维?" -
each不是,puts是。each与您的问题无关。您可以(并且应该)通过提供代码来简化您的问题:puts [1, 2]而不是您发布的内容。
标签: ruby arrays multidimensional-array iterator