Stdout

Hi! I'm developing an application, that needs to execute some ruby
files, and log the output in a txt file.
The problem that i have is that i can't take this output.

Here is a piece of code:

filesToExec.each { |file|
  system("ruby "+scriptFolder+"/"+file) # I need this output
}

Thanks a lot!

···

--
Posted via http://www.ruby-forum.com/.

You're looking for something like

puts "ruby #{scriptFolder}/#{file}"

···

On Tue, Jul 14, 2009 at 1:36 PM, Agustin Ramos <agus_85@hotmail.com> wrote:

Hi! I'm developing an application, that needs to execute some ruby
files, and log the output in a txt file.
The problem that i have is that i can't take this output.

Here is a piece of code:

filesToExec.each { |file|
system("ruby "+scriptFolder+"/"+file) # I need this output
}

Thanks a lot!
--
Posted via http://www.ruby-forum.com/\.

Chris Dempsey wrote:

You're looking for something like

puts "ruby #{scriptFolder}/#{file}"

Nono, the scripts that i'm running print in the screen "Testo Ok" or
"Test Fail"
i need to save these output in a TXT file.

Thanks!!

···

--
Posted via http://www.ruby-forum.com/\.

If you only need to save a single line, you can do this:

results = `ruby #{scriptFolder}/#{file}`

If you need to be looking at multiple lines, you should check out IO.popen

- Lee

···

On Tue, Jul 14, 2009 at 1:23 PM, Agustin Ramos<agus_85@hotmail.com> wrote:

Chris Dempsey wrote:

You're looking for something like

puts "ruby #{scriptFolder}/#{file}"

Nono, the scripts that i'm running print in the screen "Testo Ok" or
"Test Fail"
i need to save these output in a TXT file.

Thanks!!

Lee Hinman wrote:

Chris Dempsey wrote:

You're looking for something like

puts "ruby #{scriptFolder}/#{file}"

Nono, the scripts that i'm running print in the screen "Testo Ok" or
"Test Fail"
i need to save these output in a TXT file.

Thanks!!

If you only need to save a single line, you can do this:

results = `ruby #{scriptFolder}/#{file}`

If you need to be looking at multiple lines, you should check out
IO.popen

- Lee

With this line results = `ruby #{scriptFolder}/#{file}` i'm saving only
the file location string. It's the same as
results = "ruby "+scriptFoler+"/"+file
You only change the concatantio symbol by printing variables into the
string.

I need to save the cmd output, the output of the script.

So
With this
filesToExec.each { |file|
  system("ruby "+scriptFolder+"/"+file) # I need this output
}
I'm running the scripts, that's correct? or i have to do it in other
way?

···

On Tue, Jul 14, 2009 at 1:23 PM, Agustin Ramos<agus_85@hotmail.com> > wrote:

--
Posted via http://www.ruby-forum.com/\.

You only change the concatantio symbol by printing variables into the
string.

I need to save the cmd output, the output of the script.

So
With this
filesToExec.each { |file|
system("ruby "+scriptFolder+"/"+file) # I need this output
}
I'm running the scripts, that's correct? or i have to do it in other
way?

Using ` instead of " executes the command and returns a string of the output.

Try this in irb:

r = `echo "hi"`
puts r

and r should equal "hi\n"

- Lee

···

On Tue, Jul 14, 2009 at 1:50 PM, Agustin Ramos<agus_85@hotmail.com> wrote:

NO, its a back tick, not a quote. Look carefully.

···

--
Posted via http://www.ruby-forum.com/.

[...]

> system("ruby "+scriptFolder+"/"+file) # I need this output

[...]

> I'm running the scripts, that's correct? or i have to do it in other
> way?

Using ` instead of " executes the command and returns a string of the
output.

Or use %x{} to stand out visually:

    output = %x{ruby #{scriptFolder}/#{file}}

···

At 2009-07-14 03:55PM, "Lee Hinman" wrote:

On Tue, Jul 14, 2009 at 1:50 PM, Agustin Ramos<agus_85@hotmail.com> wrote:

--
Glenn Jackman
    Write a wise saying and your name will live forever. -- Anonymous