重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

組み込みライブラリのFileクラスを使用してリネームをしようとしているのですが、パスを直接記述した場合はリネーム処理がおこなわれますが、変数で渡した場合は Invalid argument とエラーが出ます。

変数で渡した場合でも出来るようにするには何か別の処理が必要なのでしょうか。

宜しくお願いします。

○のパターン
File::rename("C:\test\01sample01.txt","C:\test\sample01.txt")

×のパターン
sample1 = "C:\test\01sample01.txt"
sample2 = "C:\test\sample01.txt"

File::rename(sample1,sample2)

A 回答 (2件)

こちらで確認すると○のパターンでもエラーになりますが、


sample1 = "C:\\test\\01sample01.txt"
sample2 = "C:\\test\\sample01.txt"
としてください。(\\のようの\を2回続ける)

そうすると、正しく動作します。
当方、
windows-7 64Bit
ruby 1.9.2p180 (2011-02-18) [i386-mingw32]
で確認済みです。
尚、今後質問される場合は、
OSとrubyのバージョンも記述すると、より正確な回答が期待できるかと思います。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。

ご回答頂いた通りに記述しましたら、
エラーもなくなり、リネームをすることができました。

ご指摘頂いた通り、今後質問する場合はOSのバージョン等を記述するようにします。

お礼日時:2011/11/16 15:50

シングルクォートでもいけるような気が。


試してないけど。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

シングルクォートでも試したところ出来ました。

お礼日時:2011/11/16 15:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!