Rumah  >  Soal Jawab  >  teks badan

ruby print或puts 打印数组元素问题

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]呢?

谢谢解答!

高洛峰高洛峰2712 hari yang lalu827

membalas semua(1)saya akan balas

  • 怪我咯

    怪我咯2017-04-22 09:02:16

    Ya, yang pertama, kenapa bukan seperti yang anda katakan, tetapi yang berikut:

    [1,2,3]
    [4,5,6]
    [7,8,9]

    Pertama sekali, mengapa anda mengatakan ini? Bolehkah anda memberi jawapan kepada diri sendiri?
    meletakkan output kandungan dan kemudian membungkusnya Memandangkan satu dimensi dibungkus, mengapa anda tidak membungkusnya dalam dua dimensi?

    2

    a Selepas melaraskan setiap satu, terdapat tatasusunan 1 dimensi dalam gelung Setiap kali elemen pertama dalam tatasusunan satu dimensi diambil (subskrip ialah 0), iaitu 1, 4, 7<🎜. >

    balas
    0
  • Batalbalas