まつもと ゆきひろです

In message "[ruby-list:28178] $stdout"
    on 01/02/23, OHARA Shigeki <os / iij.ad.jp> writes:

|----
|#!/usr/local/bin/ruby
|# stdout.rb
|
|file = open('file', 'w')
|
|puts 'STDOUT'
|
|$stdout = file
|puts 'file'
|
|$stdout = STDOUT
|puts 'STDOUT (?)'
|----
|
|
|上のようなスクリプトで、
|
|% ./stdout.rb
|STDOUT
|STDOUT (?)
|% cat file
|file
|% 
|
|という結果を期待しているのですが、そういう動作はせず、
|
|% ./stdout.rb
|STDOUT
|% cat file
|file
|STDOUT (?)
|% 
|
|となってしまいます (ruby 1.6.2)。
|
|これは、そういうものなのでしょうか?

なんとかしましょう。とりあえず1.7で。