$stdin、$stdout、$stderr 是可以更動的.
$stdout 與 STDOUT 一開始都是輸出到螢幕.
$stdout = open('output_file','w')
#將會輸出到 output_file 檔案.
$stdout = STDOUT
#又會回到螢幕上.
# std.rb
$stdout.reopen("out.txt", "w")
$stderr.reopen("err.txt", "w")
puts 'normal output'
warn 'something to stderr'
執行結果:
$ ls
std.rb
$ ruby std.rb
$ ls
std.rb err.txt out.txt
$ cat err.txt
something to stderr
$ cat out.txt
normal output
參考資訊:Link
沒有留言:
張貼留言