あーるPG - 社会人のデジタル生活

日曜プログラマになろうかなーと思った30代理系社会人の、キャリアアップや趣味(特にデジタル情報)の記録。らーめんとビールが好き。

Dir#glob結果の利用

p "===== unsorted =========="
Dir.glob("**"){|f|
  p f
}

p "===== sorted =========="
Dir.glob("**").sort{|lhs, rhs| File.mtime(lhs) <=> File.mtime(rhs)}.each{|f|
  p f
}

結果

$ ../test.rb
"===== unsorted =========="
"a.txt"
"b.txt"
"c.txt"
"===== sorted =========="
"b.txt"
"c.txt"
"a.txt"

$ ls -l
total 3
-rw-r--r--  1 4 Aug 28 00:19 a.txt
-rw-r--r--  1 4 Aug 28 00:17 b.txt
-rw-r--r--  1 4 Aug 28 00:18 c.txt

globの結果は名前順らしいので、時間順に処理したいときにはsortを挟む。
てっきりsystem("ls -t -1").each とかやるのかと思ったよ。