在我試圖瞭解更多關於Ruby的,我在看這篇博客http://mentalized.net/journal/2010/03/08/5_ways_to_run_commands_from_ruby/探討不同執行命令的方法,例如內核#exec和內核#系統。他的例子文件具有的代碼紅寶石:捕獲輸出
#!/usr/bin/env ruby
puts "out"
STDERR.puts "error"
兩行,他注意到,每當他運行一個命令,輸出是否被捕獲或沒有。例如,這裏捕獲了STDOUT,但STDERR不是。
>> `./err.rb`
err
=> "out\n"
但爲什麼這很重要?實際上,產出是否被「俘獲」有什麼不同?我試圖找到我的紅寶石書這個問題的答案,但無濟於事。
感謝您的解釋。