まつもと ゆきひろです

In message "Re: [ruby-dev:36465] [feature:1.9] ENV#[]= and nil"
    on Mon, 22 Sep 2008 20:42:38 +0900, "Yusuke ENDOH" <mame / tsg.ne.jp> writes:
|1.8 では ENV["FOO"] = nil は環境変数を消しますが、1.9 ではエラーになり、
|不便です。子プロセスを作るときなどで、一時的に環境変数を変えるために

<中略>

|ととても冗長になります。いろんなソースでこのコードを書く必要があります。
|「nil の特別扱いをなくす」という一貫性のために、利便性が犠牲になりすぎ
|だと思います。
|
|なので、
|
|1.  1.8 の挙動に戻す (ENV だけ nil を特別扱いする)
|2.  1.8 の ENV#[]= と同じ挙動をするメソッドを提供する (ENV#assign とか)
|
|のどっちかをするのはどうでしょうか。

おっしゃることはもっともなので前者の対応をします。