当我运行ruby.exe / IRB时,我得到的是一个空白的DOS shell?

我在Windows XP笔记本电脑上安装了ruby1.9.1p243(2009-07-16修订版24175)[i386-mingw32]。

当我运行ruby.exe时,我得到一个空白的DOS Shell窗口。 在命令提示符的左上方没有预期的“irb(main):001:0>”。 我可以input到shell中,但是input的任何代码实际上都会做任何事情。

我应该提到,我可以从cmd.exe DOS shell启动IRB,并且它的function完美。 另外我有系统variablespath设置为C:\ruby\斌,所以我知道这是好的。

任何想法可能会出错,如何解决?

ruby.exe!= irb.bat

irb是一个运行ruby.exe作为交互式shell的批处理文件。 它实际上传递了一个名为“irb”(无扩展名)的文件作为参数。 你想要运行irb。

更确切地说,运行ruby本身仍然给你一个ruby解释器,但是你会错过IRB的这些特性:交互式提示行编辑,立即执行和自动打印结果。

例如:

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

Ctrl + Z ,然后按Enter 。 它输出

 hello 

Ctrl + Z向解释器发送“文件结束”信号。 与IRB不同,默认情况下,一次不会占用一行输入,所以等待输出“hello”。 “测试字符串”根本没有显示。

PS相反,您也可以将文件的名称传递给IRB(只是irb hello.rb ),它将像运行它一样运行,显示每行代码和结果。