为了更多地了解 Ruby,我正在查看这篇博客文章http://mentalized.net/journal/2010/03/08/5_ways_to_run_commands_from_ruby/讨论了不同的命令执行方法,例如 Kernel#exec 和 Kernel #系统。他的示例文件有两行代码
#!/usr/bin/env ruby
puts "out"
STDERR.puts "error"
他指出,每当他运行命令时,无论输出是否被捕获。例如,这里捕获了 STDOUT,但没有捕获 STDERR。
>> `./err.rb`
err
=> "out\n"
但为什么这很重要?输出是否被“捕获”在实际方面有什么区别。我试图在我的 Ruby 书中找到答案,但无济于事。
谢谢你的解释。