こんにちは、五十嵐です。

YANAGAWA Kazuhisa writes:
>> Linux上だと、Dir.foreachでは、"."と".."が要素として出てきますが、
>> 出ないほうが良いのではないでしょうか? 使われることもないと
>> 思うのですけど。
>
>もっとも「何に使うか」といわれると困ります.何も思い付かない.無責任
>なわたし (^^;
>
>    Dir["*"].each
>
>でいいじゃないか,という意見もありますし.

Dir["*"].each では、例えば .foo というファイルにはマッチしないので、
等価ではない...ですよね?

というわけで、私は

Dir.foreach(".") do |x|
   next if /^\.{1,2}$/ === x
   ...
end

といったようなことをしています。

>    Dir.chdir srcdir
>    mail = []
>    Dir.glob("*").each { |m| mail << m.to_i if m =~ /\d+/ }
>
>    mail.sort.each do
>      ...
>    end
>
>なんてことをしてたりしますし.

あと、ついでなんですが、これは、

Dir.chdir srcdir
for i in Dir.glob("*").grep(/^\d+$/).sort{|x, y| x.to_i <=> y.to_i}
   ...
end

のようなことをすると、媒介変数が必要なくなりますね。

-- 
五十嵐 晃(ikarashi / itlb.te.noda.sut.ac.jp)