notepad++でRubyスクリプトを実行する

概要

次のコードをメモ帳に貼り付けました。

puts ("enter a number")
x = gets.to_i
puts ("enter a second number")
y = gets.to_i
result = x + y
puts result

次のバッチ ファイルも作成しました。

@echo off
"C:\Users\Asus\ruby\helloworld.rb" "%1"
pause

prog を実行すると、コマンド ラインに次の応答が表示されます。

enter a number
C:/Users/Asus/ruby/helloworld.rb:2:in `gets': Invalid argument @ rb_sysopen - $(C:\Users\Asus\ruby\helloworld.rb) (Errno::EINVAL)
        from C:/Users/Asus/ruby/helloworld.rb:2:in `gets'
        from C:/Users/Asus/ruby/helloworld.rb:2:in `<main>'

解決策

これはWindows上で機能します:

バッチファイルを次のようにします。

@echo off
"C:\your\path\to\ruby.exe" "%1"
pause

Notepad++ で Ruby ファイルを編集し、保存します。 メニュー「実行/実行…」からダイアログボックスに次のように入力します。

"C:\your\path\to\batchfile.bat" "$(FULL_CURRENT_PATH)"

あるいは、Run/Run… から直接 Ruby を呼び出すこともできますが、スクリプトの最後に一時停止を入れる必要があります。例:

"C:\your\path\to\ruby.exe" "$(FULL_CURRENT_PATH)"

そして、コードは次のようなことを行う必要があります。

puts "Enter a number"
x = gets.to_i
puts "Enter a second number"
y = gets.to_i
result = x + y
puts "The result of #{x} + #{y} = #{result}"

puts "\nPress enter to exit"
gets

これに慣れたら、Run/Run… を設定してプロジェクト内で Rake タスクを実行します。