문제

I installed ruby 1.9.1p243 (2009-07-16 revision 24175) [i386-mingw32] on my Windows XP laptop.

When I run ruby.exe I get a blank DOS Shell window. No expected "irb(main):001:0>" at the top left of the command prompt. I can type into the shell but, any code I type in actually does anything when pressing enter.

I should mention that I can start IRB from the cmd.exe DOS shell and it functions perfectly. Additionally I have the System Variables path set to c:\ruby\bin so I know that is ok.

Any ideas what could be going wrong and how to fix it?

도움이 되었습니까?

해결책

ruby.exe != irb.bat

irb is a batch file that runs ruby.exe as an interactive shell. It actually passes a file called "irb" (no extension) as the parameter. You want to be running irb.

다른 팁

More precisely, running ruby by itself still gives you a ruby interpreter, but you'll miss these features of IRB: The interactive prompt with line editing, immediate execution, and automatic printing of the result.

For example:

C:\> ruby
puts "hello"
"test string"

Press Ctrl+Z and then Enter. It outputs

hello

Ctrl+Z send an "end of file" signal to the interpreter. Unlike IRB, it doesn't consume input one line at a time by default, so it waited to output "hello". The "test string" wasn't displayed at all.

P.S. Conversely, you can also pass the name of a file to IRB (just irb hello.rb), and it will run it as if you typed it in, displaying each line of code and the result as it goes.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top