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

From: Tietew <tietew-ml-ruby-list@...>
Date: 2004-07-21 03:24:01 UTC
List: ruby-list #39886
On Wed, 21 Jul 2004 01:14:37 +0900
In article <20040720235622.FBEA.OTN@rc5.so-net.ne.jp>
[[ruby-list:39868] イテレータとfor文]
OOTANI TAKASHI <otn@rc5.so-net.ne.jp> wrote:

> IO.foreach("filename") do |line|  #(A)
>   puts line                       #(A)
> end                               #(A)
> のようなものはイテレータを使うことになりますが、
> これはrubyを知らない人にはわかりにくい記法のように思います。
 :
> とか普通の言語風に書けば、読めるとは思うのですが、どうせなら(A)が
> for line in IO.foreach("filename") do
>   puts line
> end
> と書けると、

それだと
  IO.foreach("filename").each do |line|
    puts line
  end
と区別が付かなくなってしまいます。あくまで字句解析上の問題です。

なお,enumerator.so を使うと以下のように書けます。

require 'enumerator'
for line in IO.enum_for(:foreach, "filename") do
  puts line
end



—[ Tietew ]——————————————————————————
 メ : tietew@tietew.net / tietew@raug.net / tietew@masuclub.net
ホペ: http://www.tietew.net/     Tietew Windows Lab.
      http://www.masuclub.net/   鱒倶楽部
指紋: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA


In This Thread