Rubyで自然順ソート
バカが征くを見て。そういや昔自然順ソート調べたなぁ。
http://sourcefrog.net/projects/natsort/
のnatcmp.rbつかってEnumerableに#nartsort #natsort! #natcasesort #natcasesort!組み込んだのが
http://rails2u.com/tmp/lib/natsort.rb.txt
で、こんな風な結果になる。
gorou[7]$ ruby -e 'require "natsort";p %w(2.txt 11.txt 1.txt).natsort'
["1.txt", "2.txt", "11.txt"]
gorou[7]$ ruby -e 'require "natsort";p %w(a2.txt a11.txt a1.txt).natsort'
["a1.txt", "a2.txt", "a11.txt"]
のように数値の箇所は自然順ソートしてくれる。つかなんでカレントディレクトリにnatsort.rb置いて-rnatsortして実行するとエラーになるんだろう?ので上記例はrequireしてるという、、、。