From: "H.Yamamoto" Date: 2004-01-07T17:52:53+09:00 Subject: [ruby-dev:22526] Re: can't require 山本です。 > findと比べてみると、今の1.9はfind -depth相当ですが、1.8はちょっ > と独自の順序です。どちらかというと、1.8の順序に戻すよりもfindの > デフォルトができたほうがいいように思うんですが。 デフォルト == find のデフォルト(-depth == find の -depth) にすべきということですか? >というか、それは意味が違うのでは。例えば > > hoge/foo.c > hoge/foo_c > hoge/foo/c > >があったとき、'hoge/**/*c'の結果は1.8、1.9、sortですべて別です。 sortでは hoge/foo.c hoge/foo/c hoge/foo_c と、ファイルとサブディレクトリが前後して気持ち悪いですが、 ディレクトリ本体がサブディレクトリより前に実行される という条件は満たしていると思います。 String#countがマルチバイト対応なら Dir.glob('hoge/**/*c').sort {|a,b| a.count('/') <=> b.count('/')} で良さそうなんですけど。正規表現で同じことができるかはちょっとわかりません。