如何在Ruby中实现注入?
我需要能够使用此调用:
h = x.inject({}) {|a, b| a[b.one] = b.two; a}
其中x是一对Couple对象(这些对象只包含两个数字字段,一个和两个)。
我不确定如何在Couple中实现inject方法。
在Couple
定义一个#each
方法,然后在其中包含Enumerable
。
class Couple def each yield "a" yield "b" end include Enumerable end couple = Couple.new couple.inject("") { |str, obj| str + obj } # => "ab"