稲葉です.
やっぱりテストしないと間違えてます...

Subject: [ruby-list:13643] Re: Dir.foreach
From: kikutani / sprintmail.com
Date: Tue, 13 Apr 1999 02:35:17 +0900

> On Tue, 13 Apr 1999 00:11:41 +0900,
> Inaba Hiroto  wrote:
> 
> > たいしたことないでしょうけど、効率をいったら
> > 
> >  for i in
> > Dir.glob("*").grep(/^\d+$/).filter{|s|s.to_i}.sort.filter{|i|i.to_s}
> >     ...
> >  end
> 
> むずかしい...
> なんでこれでソートできるのかわからない。

すみません, for loopで変数iは使われているので, filterのブロック変数に
使うとおかしくなるので.

  for i in 
   Dir.glob("*").grep(/^\d+$/).filter{|s|s.to_i}.sort.filter{|n|n.to_s}
     ...
   end

とかでないといけないですね.  それから「Dir.glob("*").grep(/^\d+$/)」ま
でで得られるArrayの要素に"00"とか"010"とかがないという仮定も必要です.

もっというと, 1〜10000までファイルがあるディレクトリで3秒が2.5秒になる
程度の違いしかないですね^^;
--
	稲葉 浩人 <inaba / sdd.tokyo-sc.toshiba.co.jp/inaba / st.rim.or.jp>