在Windows中从Ruby运行外部Ruby程序

Running external Ruby program from Ruby in Windows

我尝试在Ruby中运行一些需要运行外部Ruby文件/程序的测试。

在Windows控制台中,我使用irb运行ruby程序,该程序调用位于同一目录中的另一个ruby程序,如下所示:

1
2
3
irb(main):018:0> puts system"ruby1.8 tmp.rb"
false
=> nil

但是它总是返回错误。

我怎样才能解决这个问题。

我在Windows上安装了几个Ruby版本,我需要运行在命令行上选择的Ruby的特定版本。

我已经尝试将可执行文件ruby.exe重命名为ruby1.8.exe,它在命令行中正常工作,但不使用"system"命令。

Ruby中有多个同名类


来自文档:

system returns true if the command gives zero exit status, false for
non zero exit status.

用倒计时代替system捕捉输出:

1
2
output = `ruby tmp.rb`
p output