问题描述
a = [[1,2,3], [4,5,6], [7,8,9]]a.each {|v| print v}结果: [1,2,3][4,5,6][7,8,9]a.each {|v| puts v}结果: 1 2 3 4 5 6 7 8 9
我知道print和puts差别print打印出来,我可以了解!但是 puts 打印出来,我不明白。如果puts是会换行,如果换行应该打赢成这样吧!:
[1,2,3][4,5,6][7,8,9]
还有一个问题就是:Ruby
a.each {|v| puts v[0]} # 1,4,7
Python
for i in a: print i[0] # [1,2,3]
each和for都一样,我已经测试了。但是我搞不清楚,为什么ruby结果是147而不是[1,2,3]呢?
谢谢解答!
问题解答
回答1:对与第一个,为什么不是你说的那样,而是如下:[1,2,3][4,5,6][7,8,9]
首先反问下为什么要你说的这样呢?你自己能给自己答案么?puts 输出内容然后换行,既然一维都换行了,为什么你不要2维换行呢?
2a 调each后,循环里面是一个1维数组,每次取一维数组里面的第1个元素(下标为0),当然是1,4,7