如何从 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"
不过,我怀疑你到底想做什么。因为这是完全不直观和迂回的。您确定您不只是在寻找模块或其他东西吗?
我正在尝试执行 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"
不过,我怀疑你到底想做什么。因为这是完全不直观和迂回的。您确定您不只是在寻找模块或其他东西吗?