技術メモのかけら

内容はもとより調べたことすら忘れてしまうので個人的な技術メモを残しているブログです。Qiitaの記事にするほどでもない細かいネタを投稿します。

ファイル名の長い順リスト

#!/usr/bin/ruby

h = Hash::new

# key=file名, value=file名の長さのハッシュを生成
Dir.glob("/target_path/**/*") do |file|
  h[file] = file.length()
end

#file名の長さの降順、file名の昇順でソート
arr = h.to_a.sort do |a, b|
  (b[1] <=> a[1]) * 2 + (a[0] <=> b[0])
end

arr.each do |x|
  p x
end