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,2,3]
[4,5,6]
[7,8,9]
우선 왜 이런 말을 하는 걸까요? 스스로 답을 줄 수 있나요?
puts는 콘텐츠를 출력한 다음 1차원으로 래핑하므로 2차원으로 래핑하는 것은 어떨까요?
2
a 각각을 조정한 후 루프에 1차원 배열이 있습니다. 1차원 배열의 첫 번째 요소를 가져올 때마다(아래 첨자는 0) 당연히 1, 4, 7입니다.