Rubyのyieldの使い方(my_eachを持つ簡易MyArrayクラスを作ってみた)

yieldでブロックパラメータを含むメソッド(?)を定義できることを知ったのでメモ。

#!/usr/local/ruby/bin/ruby

class MyArray
	def initialize
		@array = [1, 2, 3, 4, 5, 6, 7]
	end

	def my_each
		@array.each{|a|
			yield a
		}
	end
end

a = MyArray.new
a.my_each{|a|
	p a
}

結果

$ ./yield.rb
1
2
3
4
5
6
7

なるほど。。