ruby print或puts 列印數組元素問題
高洛峰
高洛峰 2017-04-22 09:00:16
0
1
893
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]呢?

謝謝解答!

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(1)
刘奇

對與第一個,為什麼不是你說的那樣,而是如下:

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

首先反問下為什麼要你說的這樣?你自己能給自己答案麼?
puts 輸出內容然後換行,既然一維都換行了,為什麼你不要2維換行呢?

2

a 調each後,循環裡面是一個1維數組,每次取一維數組裡面的第1個元素(下標為0),當然是1,4,7

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板