Windowsとmac(Linux)ではファイルパスの区切り記号が異なりますね。rubyプログラムからファイルにアクセスするときに実行環境を参照してこの区切り記号を切り替えるプログラムを作りました。恐らく、こんなプログラムはどこかの便利ライブラリに入っていると思うのですが。。。探せなかったので晒します。とりあえず私は使えているので問題ないと思います。
require 'kconv' def makepath( path ) if RUBY_PLATFORM.downcase =~ /mswin/ return path.gsub(/\//, '\\').tosjis end path.gsub(/\\/, '/').toutf8 end
■使い方
上記プログラムをrequireで読み込んで、パスを含む文字列をmakepathで囲うと使えます。以下、例です。
f = File.open( makepath('data\\a.csv') ,'w')