2

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

当我运行 ruby​​.exe 时,我得到一个空白的 DOS Shell 窗口。命令提示符左上角没有预期的“irb(main):001:0>”。我可以在 shell 中输入,但是我输入的任何代码实际上在按下回车键时都会执行任何操作。

我应该提一下,我可以从 cmd.exe DOS shell 启动 IRB,它运行良好。此外,我将系统变量路径设置为 c:\ruby\bin 所以我知道没关系。

任何想法可能出了什么问题以及如何解决它?

4

2 回答 2

3

ruby.exe != irb.bat

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

于 2009-10-14T00:29:45.813 回答
2

更准确地说,单独运行ruby仍然为您提供了一个 ruby​​ 解释器,但您会错过 IRB 的这些功能:具有行编辑的交互式提示、立即执行和自动打印结果。

例如:

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

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

hello

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

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

于 2009-10-14T00:51:49.207 回答