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

    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!