Tag: Ruby
#ディレクトリ取得 p File.dirname "/etc/http/conf/httpd.conf" #=> "/etc/http/conf" #ファイル名取得 p File.basename "/etc/http/conf/httpd.conf" #=> "httpd.conf"
File.joinを使えばセパレーターを指定する必要はありません。
名前の辞書順: Dir.glob(pattern).sort 生成順: Dir.glob(pattern).sort_by { |fn| File.birthtime(fn) } 更新順: Dir.glob(pattern).sort_by { |fn| File.mtime(fn) }
Ruby 2.7まではDir.globはファイルシステムに依存する順序でファイルを列挙していましたが、Ruby 3.0からはデフォルトでソートされるようになりました。
[PARAM] sort: true ならワイルドカードや文字セット(鈎括弧)にマッチした結果をバイナリとして昇順にソートします。 false を指定するとソートせず2.7以前と同じ挙動になります。 true の場合でも、配列で指定した複数のパターンや波括弧での順番は保存されます。
File.open("test.txt", "r:euc-jp") {|file| file.each {|line| puts "#{line}:#{line.encoding}" } }