In message <20090912.163206.78665766.rubikitch / ruby-lang.org> 2009-09-12T16:32+0900,
	rubikitch / ruby-lang.org wrote:
> しかし、Rubyのブロックはコストがでかいです。

指摘ありがとうございます。確かにその通りだとは思います。
ただ、最初の質問メールでは、シンプルに書きたいという意図も
あったように見えたので、、、。(言い訳ですが。)

> 高速化したければ、適切なアルゴリズム(メソッド)とデータ構造(nilが使えるなら使え)を選べということです。

そうですね、以下は蛇足と思いますが、、。

そもそも繰返しコストを問題にするような場合に、「配列の要素に
『空』とそうでない値を保持し続けて、全てが『空』かどうかの判定をする」
というデータ構造(『空』を nil で表現するかどうか以前の話)も
再検討の余地があるかも知れないわけですし。。

あと、(特に1.8系の場合?)組み込みクラスのメソッドでは、
C言語で実装されているかどうかも実行速度の観点では影響が大きいですね。
(これは本当に蛇足。)
--
阪口哲男@図書館情報メディア研究科.大学院.筑波大学
Tetsuo SAKAGUCHI.
Graduate School of Library, Information and Media Studies
University of Tsukuba, JAPAN.