Markus Schirp
10/14/2007 7:29:00 PM
Am Mon, 15 Oct 2007 04:23:41 +0900
schrieb Aditya Mahajan <adityam@umich.edu>:
> Hi,
>
> I want to run an external program in ruby. The external program takes
> a long time to execute. While running, it gives the information on
> stdout about what it is doing. How can I run the external program
> inside ruby so that I can capture this information, and display it on
> stdout? I tried %x{...}, `...` and system("...."), but all of them
> give me a result AFTER the external program has finished executing,
> not during its execution.
>
> Thanks,
> Aditya
>
in,out = IO.popen($command)
in refers to standart input of the program
out to the standart output
you can receive lines from the program using in.gets. Beware, "in" may
be a reserved word in ruby.