从Ruby程序执行Ruby程序的最佳方法是什么?

时间:2010-08-19 03:07:09

标签: ruby metaprogramming eval

我想在循环中使用Ruby脚本执行类似的操作:

  1. 写一个文件a.rb(它会改变每次迭代)
  2. 执行系统(ruby'a.rb')
  3. a.rb将带有结果的字符串写入文件'results'
  4. a.rb完成并且Ruby返回'true'(假设没有错误)
  5. 调用脚本读取文件'results'并采取行动。
  6. 我希望有更好的方法可以做到这一点。例如,我可以代替步骤#2-#5 只需加载'a.rb'(在循环中)并调用其中一个方法?有没有更好的方法使用eval()或其他东西? (获得对元编程的理解是在我的Ruby待办事项列表中。)

1 个答案:

答案 0 :(得分:3)

我认为eval可能是动态生成代码的正确解决方案;这就是它的设计目标。而不是仅创建a.rb,只需eval('some-code-that-would-be-in-a.rb')