これがルビーつるはしの本からのコードサンプルです:
Class VowelFinder
include Enumerable
def initialize(string)
@string = string
end
def each
@string.scan(/[aeiou]/] do |vowel|
yield vowel
end
end
end
vf = VowelFinder.new("the quick brown fox jumped")
vf.inject(:+) # => 'euiooue'
私が理解するのに苦労しているのは、修正された「各」メソッドがどこで機能するのかということです。injectはある時点でそれを呼び出していると思いますが、なぜそれを行っているのか、そしてコードでこの動作を予測またはエミュレートする方法がわかりません。
ありがとう!