从ruby运行C ++程序

Running C++ program from ruby

如何从Ruby脚本运行C++程序?

假设Ruby脚本生成一个名为"Hello .txt"的文件,我想运行一个C++程序来获取Helo.txt文件,使用它并编写另一个文件,名为"Realth.txt",Ruby脚本继续读取RESULT.TXT文件。

例如,在Linux shell中,我编写g++ hello.c -c hello -o hello来接收"result.txt"文件。

有没有一种方法可以从Ruby程序运行shell代码?


你可以像别人说的那样使用system,但是你也应该检查退出值来验证成功或失败。

1
r = system("g++ hello.c -c hello -o hello") #=> r = true if success, nil if failed

我发现backticks比system更简洁。

你可以通过以下方式触发C++程序:

1
`./hello file.txt`

您能说明是否需要从当前目录中读取results.txt吗?

如果是这样,你可以使用像contents = IO::readlines './results.txt'这样的东西。


您可以使用系统:

1
system("./hello file.txt")