請幫助我理解迭代在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'在陣列。因此它不會遍歷... –