yieldについて

初めてのRubyを再び読んでいます。Rubyに関して何故かそこの説明に来ると、目がよけるというか理解する気が起こらなかったのがyieldです。
でもよーするにblockが与えられると、yieldと書いてあるところがblockに置き換わって実行されるだけだなという、てけとーな理解でなんとか目がよけるという事から抜け出せました。
と言うわけで、そのyieldを使い、配列でeachっぽい動作をするメソッドを定義してみました。まあ動いてるしよしとするかなと言ったレベルですね。

#!/usr/local/bin/ruby

class Array
  def myeach
    0.upto(self.size - 1) do |i|
      yield self[i]
    end
  end
end

a = %w[ "000" "111" "222" "333" ]
a.myeach do |i|
  puts i
end