[#39863] forループの速度 — Masahiro Sato <msato@...>

15 messages 2004/07/20

[#39868] イテレータとfor文 — OOTANI TAKASHI <otn@...5.so-net.ne.jp>

大谷と申します。

31 messages 2004/07/20
[#39886] Re: イテレータとfor文 — Tietew <tietew-ml-ruby-list@...> 2004/07/21

[ruby-list:39872] Re: イテレータとfor文

From: Atoh <atoh@...7.jp>
Date: 2004-07-20 22:49:40 UTC
List: ruby-list #39872
あとうと申します。はじめまして。

> foo.bar do |x,y| .... end は
> for x,y in foo.bar do .... end
これだと foo.bar がいつ評価されるのかが問題になりませんか。
in (foo.bar do .... end) だとブロックに x,y の情報が与えられないし、
(in foo.bar) do .... end だと foo.bar にブロックが与えられない。
できるとすれば in(foo, :bar) ですかね。かえって分かりにくいですが。

Enumerable なオブジェクトをどうにか生成するのが良いのではないでしょうか。
IO.foreach("filename") の例だと IO.readlines("filename") のように。
Enumerable なオブジェクトを作ることが適当でない場面なら for を使うと
かえって混乱する気がします。

> ・rubyを知らない人にもわかりやすくというのが考えとして良いのかどうか
for があるのを見ると、初心者にわかりやすくというのも重要視されているように
思います。(なるべく制御構文よりメソッドを使いたい人間の意見ですが)

In This Thread