ruby print或puts 打印数组元素问题
高洛峰
高洛峰 2017-04-22 09:00:16
0
1
883
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]

まず、なぜこのようなことを言ったのかお聞きします。あなたは自分自身で答えを出すことができますか?
put はコンテンツを出力してからラップします。1 つの次元がラップされているので、それを 2 つの次元でラップしないのはなぜでしょうか。

2

a それぞれを調整すると、ループ内に 1 次元配列が作成されます。毎回、1 次元配列の最初の要素 (添え字 0) が取得されます。これは、もちろん 1、4、7 です

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート