如何从 Ruby 脚本中执行 Ruby 代码?

How to execute a Ruby code from inside a Ruby script?

我正在尝试执行 Ruby 脚本文件。 假设输入是包含文件内容的字符串。 有哪些可能的方法?考虑到我需要将执行文件的输出与主脚本分开,无论标准输出与否。

作为我正在尝试做的一个例子,有一个名为 execute(code)

的函数

然后调用 execute('4 + 5') 会 return 9 尽管我可以写一个完整的 Ruby 脚本来代替 '4 + 5'.

谁能给我转发相关的教程或书籍,不胜感激:)

您可以在 Ruby 中调用 shell 命令,就像用反引号包围您想要的命令一样简单直观。

输出已返回,因此只需将其保存到变量中即可:

script1.rb:

puts "asdf"

script2.rb:

output = `ruby script1.rb`    
puts output
"asdf"

不过,我怀疑你到底想做什么。因为这是完全不直观和迂回的。您确定您不只是在寻找模块或其他东西吗?