Ruby初心者スレッドPart8
■ このスレッドは過去ログ倉庫に格納されています
0078デフォルトの名無しさん
2006/10/07(土) 17:44:38yield は言語機能としてもともとあった機能。ただ、与えられたブロックをオ
ブジェクトとして扱いたいっていう要求があってブロック引数という機能が実
装されたという経緯がある。
つまり、この2つは「似たような機能を実現するための2つの手段」になってい
るから、両方を同時に使うのが一番ヘンだと個人的には思う。っていうか使え
るとは思ってなかった。
ブロック引数を使わずに yield を使うか、ブロック引数を使うなら call メ
ソッドを使って yield は使わないか、どっちかにするべきじゃないかな。
どちらを使うかは趣味の問題だと思うから、どちらでも良いと思う。
もともとあったのは yield だけだったので、古参の Rubyist は yield の方
を好む気がするけど。
あと、ブロック引数を取ると Proc オブジェクトを生成する。 yield は言語
機能なのでそういうことをしないぶん、じゃっかん軽いらしい。
■ このスレッドは過去ログ倉庫に格納されています