为什么不同的输出来自有和没有`puts`的数组?

时间:2013-01-12 12:15:05

标签: ruby arrays inspect

puts a1.zip(a2)a1.zip(a2)之间有什么区别?为什么输出以不同的方式出现?

a1 = %w{a b c}
a2 = %w{1 2 3}

a1.zip(a2)
# => [["a", "1"], ["b", "2"], ["c", "3"]]

puts a1.zip(a2)
# =>
# a
# 1
# b
# 2
# c
# 3
#=> nil

1 个答案:

答案 0 :(得分:2)

您正在一个puts进行,而另一个正在进行zip通话。你为什么期望它们是一样的?

puts会在自己的行中打印数组的每个元素,这就是您在此处看到的内容。 IRB默认使用inspect来打印对象。虽然您看到的不同,但两种情况下zip方法的输出都是相同的。