前田です。

In message "[ruby-list:6605] true/TRUE false/FALSE nil/NIL"
OZAWA Sakuro <crouton / po.shiojiri.ne.jp> wrote:

|true: TrueClassクラスの唯一のインスタンスを表す擬似変数(定数)
|TRUE: 値trueを持つ(参照する)グローバル定数
|
|でしょうか? 両者の使い方に違いがあるのはどんな場面でしょう?

TRUE/FALSEだと

class Foo
  TRUE = FALSE
  ...
end

などとした場合まずいということでtrue/falseが導入されたのだったと
思います。
# こんなことをする方が悪いという気もしますが。
TRUE/FALSEは1.0との互換性のために残されているのではないでしょうか。
# おそらくNILはTRUE/FALSEとの対称性のために導入されたんでしょうね。

VERSIONなどの他の定数にも同じような問題がありますが、1.1b8から
::VERSIONとすることでObject::VERSIONを指定できるようになりましたね。

-- 
前田 修吾