[#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:39891] Re: イテレータとfor文

From: OOTANI TAKASHI <otn@...5.so-net.ne.jp>
Date: 2004-07-21 14:38:03 UTC
List: ruby-list #39891
大谷です。

From: Tietew <tietew-ml-ruby-list@tietew.net>
Subject: [ruby-list:39886] Re: イテレータとfor文
Date: Wed, 21 Jul 2004 12:24:01 +0900
> それだと
>   IO.foreach("filename").each do |line|
>     puts line
>   end
> と区別が付かなくなってしまいます。あくまで字句解析上の問題です。

確かにfor/in だとまずいですね。でもinより良い語が思い浮かびませんでした。
あ、
foreach line in IO.foreach("filename") do
    puts line
end
と、forの方を変えればいいのか。でもこの例だとforeachがうるさいですね。

From: Atoh <atoh@inter7.jp>
Subject: [ruby-list:39872] Re: イテレータとfor文
Date: Wed, 21 Jul 2004 07:49:40 +0900
> > 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) ですかね。かえって分かりにくいですが。

よくわかりません。
後者は前者のシンタックスシュガーのつもり(スコープの問題はさておき)
なので、意味は前者の場合と同じつもりです。

やっぱり、
私> 現状では、Rubyユーザ以外の人に渡すものでは最初のメールに書いた例のように
私> 冗長なのを我慢して、普通の言語風の記法だけ使うというのが正しいんでしょう。
でしょうか。

-- 
OOTANI TAKASHI <otn@rc5.so-net.ne.jp>


In This Thread