>77
yield は言語機能としてもともとあった機能。ただ、与えられたブロックをオ
ブジェクトとして扱いたいっていう要求があってブロック引数という機能が実
装されたという経緯がある。

つまり、この2つは「似たような機能を実現するための2つの手段」になってい
るから、両方を同時に使うのが一番ヘンだと個人的には思う。っていうか使え
るとは思ってなかった。
ブロック引数を使わずに yield を使うか、ブロック引数を使うなら call メ
ソッドを使って yield は使わないか、どっちかにするべきじゃないかな。

どちらを使うかは趣味の問題だと思うから、どちらでも良いと思う。
もともとあったのは yield だけだったので、古参の Rubyist は yield の方
を好む気がするけど。
あと、ブロック引数を取ると Proc オブジェクトを生成する。 yield は言語
機能なのでそういうことをしないぶん、じゃっかん軽いらしい。