[ruby-list:50903] 一時的にグローバル変数を差し替える

From: OOTANI TAKASHI <tksotn@...117.cx>
Date: 2020-09-28 13:19:21 UTC
List: ruby-list #50903
大谷ともうします。

一時的にグローバル変数を差し替える、

File.open("xxx","w") do |$stdout|
  something
end

的なこと(ブロックが終わると元に戻る)をしたいと思ったのですが、
そういうことは出来ないので、

File.open("xxx","w") do |f|
  $stdout = f
  something
end
$stdout = STDOUT

とする事になるかと思います。
が、ちょっと美しくない気がします。

何か他の手段はありますでしょうか?

-- 
tksotn

In This Thread

Prev Next