puts '--- ファイル名を取り出す。一番後ろの"/"以降を返す。' p File.basename("/home/user/bin/ruby") p File.basename("/home/user/bin/ruby/file.rb") p File.basename("/home/user/bin/ruby/file.rb", ".rb") # 第2引数で取り除く部分指定 puts '--- ディレクトリ名を取り出す。一番後ろの"/"より前を返す。' p File.dirname("/home/user/bin/ruby") p File.dirname("ruby") p File.dirname("/home/user/bin/ruby/file.rb") puts '--- basenameが返す部分から、拡張子を取り出して返す。' p File.extname("/home/user/bin/ruby") p File.extname("/home/user/bin/ruby/file.rb") p File.extname("data.dat") puts '--- dirnameとbasenameに分割し、2要素の配列を返す' p File.split("/home/user/bin/ruby") p File.split("/home/user/bin/ruby")[1] p File.split("/home/user/bin/ruby/file.rb") p File.split("/home/user/bin/ruby/file.rb")[0] p File.split("data.dat") puts '--- joinはsplitの逆。dirnameとbasenamからpathを組み立てる' dir_base = File.split("/home/user/bin/ruby") p dir_base p File.join(dir_base) p File.join("/hoge", "hoge.txt") puts '--- 相対パスを絶対パスに変更' p Dir.pwd p File.expand_path("../../../bin") p File.expand_path("bin", "../local/")
ネタ元