From: OOTANI TAKASHI Date: 2004-07-21T23:38:03+09:00 Subject: [ruby-list:39891] Re: イテレータとfor文 大谷です。 From: Tietew 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 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