首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Ruby派生Ruby程序

从Ruby派生Ruby程序
EN

Stack Overflow用户
提问于 2010-10-31 01:58:01
回答 2查看 208关注 0票数 1

假设我有一个名为hello_world.rb的ruby脚本,它只有一行

代码语言:javascript
复制
puts "Hello, world"

我想从另一个名为spawn_hello_world.rb的ruby脚本中调用它

代码语言:javascript
复制
pipe = IO.popen("ruby1.9.1 hello_world.rb", 'w+')
if pipe
  puts pipe.gets
end

我的问题是:有没有一种快捷的方式来运行另一个ruby进程,而不必以这种方式调用操作系统?

我知道我能做到

代码语言:javascript
复制
pipe = IO.popen('-', 'w+')

它将启动另一个ruby解释器,然后我可以使用

代码语言:javascript
复制
pipe.puts "puts "Hello World""

但这似乎也相当不雅观。

我基本上是在寻找一种相当于python的multiprocessing module的ruby

EN

回答 2

Stack Overflow用户

发布于 2010-10-31 02:05:15

您可以在代码自己的绑定上下文中对代码使用eval。这将允许您执行任意代码,同时仍然封装您的程序,使其免受该代码的不良副作用。

它并没有运行另一个Ruby解释器,但是它会为你执行你的ruby代码。

票数 1
EN

Stack Overflow用户

发布于 2010-10-31 02:19:37

你能在这里给我们一些背景知识吗?你打算怎么做?你不能只重构你的代码来使用"require"或者"include“方法吗?

只是好奇而已。

路易斯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4059961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档