2014年9月19日 星期五

[Ruby] STDIN、STDOUT、STDERR和$stdin、$stdout、$stderr

STDIN、STDOUT、STDERR 都是 IO class 不能更動.
$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

【下列文章您可能也有興趣】

沒有留言: