0

Ruby のワンライナー スクリプトのどこに構文エラーがあるかを特定するのが困難です。

以下の Ruby スクリプトは Linux で動作します

ruby -e 'File.open("blahnew", "w") { |f| f.write(File.read("blah")) }'

Windows用に少し変更した後、このエラーメッセージが表示され続けました

C:\>ruby -e 'File.open("c:\testnew", "w") { |f| f.write(File.read("c:\test")) }'

'f' is not recognized as an internal or external command, operable program or batch file.

誰かが私の構文エラーを指摘してください。

解決 策 次の方法が機能します

ruby -e "File.open('c:/testnew', 'w') { |f| f.write(File.read('c:/test.txt')) }"
ruby -e "File.open('c:\testnew', 'w') { |f| f.write(File.read('c:\test.txt')) }"
ruby -e "File.open('c:\\testnew', 'w') { |f| f.write(File.read('c:\\test.txt')) }"

ありがとう!

4

1 に答える 1

2

"Windows では、 Ruby スクリプトを二重引用符で囲む必要があります。単一引用符は Windows に固有のものではないため、その|f部分を へのパイプとして解釈していfます。一重引用符を二重引用符に、またはその逆に切り替えれば、おそらく問題ありません。

于 2013-10-01T23:23:31.243 に答える