Pathname
Pathnameというクラスはとても便利なファサード(Facade)らしいです。
疑問:上で紹介されていた http://redhanded.hobix.com/bits/howPowerfulPathnameIs.html というページがNot Foundでした。あれれ?
追記:Pathnameクラスの実行例です。確かに便利ですね。いちいちFile / IO / FileUtils のどれだっけなどと悩まずに済みます。
Pathname#readの存在と、extnameはPathnameではなくStringを返すことにちょっと感動しました。
require 'pathname' p = Pathname.new("C:/tmp/rubyco.txt") p p #=> #<Pathname:C:/tmp/rubyco.txt> p.delete # Alias for #unlink p p.exist? #=> false p.open("w") do |f| f.puts "Hello!" f.puts "Rubyco!" end p p.exist? #=> true p p.directory? #=> false p p.read #=> "Hello!\nRubyco!\n" p.open do |f| p f.gets #=> "Hello!\n" p f.gets #=> "Rubyco!\n" end p p.dirname #=> #<Pathname:C:/tmp> p p.basename #=> #<Pathname:rubyco.txt> p p.extname #=> ".txt" p p.split #=> [#<Pathname:C:/tmp>, #<Pathname:rubyco.txt>] p p.split[0].to_s #=> "C:/tmp" p p.split[1].to_s #=> "rubyco.txt" p.unlink # Same as #delete
- 参考:pathname