Execute one Ruby script from inside another


#1

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


#2

On Jul 27, 12:38 pm, “removed_email_address@domain.invalid” removed_email_address@domain.invalid
wrote:

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

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


#3

removed_email_address@domain.invalid 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