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
答案 0 :(得分:2)
您正在一个puts
进行,而另一个正在进行zip
通话。你为什么期望它们是一样的?
puts
会在自己的行中打印数组的每个元素,这就是您在此处看到的内容。 IRB默认使用inspect
来打印对象。虽然您看到的不同,但两种情况下zip
方法的输出都是相同的。