Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Execute one Ruby script from inside another...

1 view
Skip to first unread message

sketc...@gmail.com

unread,
Jul 27, 2007, 3:38:42 PM7/27/07
to
Is it possible to execute one Ruby script from inside another Ruby
script? What is the syntax for this? Can arguments be passed to the
second script from inside the first?

What about other external programs? Can Ruby execute those?

Thanks for the help.

The SketchUp Artist

sketc...@gmail.com

unread,
Jul 27, 2007, 3:43:16 PM7/27/07
to
On Jul 27, 12:38 pm, "sketchi...@gmail.com" <sketchi...@gmail.com>
wrote:

I apologize. I just found the answer to the first part of my question
in this article:

http://ruby.about.com/od/learnruby/ss/require_load_2.htm

I'd still like to know if Ruby can execute external programs.

Thanks,

The SketchUp Article

Sebastian Hungerecker

unread,
Jul 27, 2007, 3:57:48 PM7/27/07
to
sketc...@gmail.com wrote:
> I'd still like to know if Ruby can execute external programs.

It sure can:

system("app")
will execute app with the parameters arg1 and arg2. It will return true if the
programm exited successfully, false otherwise. app's output will go to stdout
(unless you redirect it).

`app` or %x{app}
will execute app and return its output as a string.

IO::popen("app",mode)
will execute app and immediately return an IO object (i.e. unlike the previous
options it won't wait for app to finish). You will be able to interact with
app using said IO object.

Open3::popen3("app")
works the same way as popen, except it gives you *three* IO objects. One to
write to app's input stream, one to read from its output stream and one to
read from its error stream.

That's it.

HTH,
Sebastian
--
NP: Anathema - Are you there?
Ist so, weil ist so
Bleibt so, weil war so

0 new messages