请帮助我理解迭代在String实例和自定义类实例之间的区别。Ruby在遍历自定义类实例时返回实例
a = ["pew", "pie"]
a.inject do |memo, instance|
memo + instance
end
它工作正常。按预期返回“pewpie”。
class Boom
def slash
3
end
def ping
5
end
end
a = [Boom.new]
a.inject do |memo, instance|
memo + instance.slash + instance.ping
end
这出于某种原因返回实例本身 - 繁荣:0x00000005018a38
只有1元件'Boom.new'在阵列。因此它不会遍历... –