[ruby-list:61] Re: nil and FALSE
From:
matz@... (Yukihiro Matsumoto)
Date:
1996-01-10 07:24:19 UTC
List:
ruby-list #61
まつもと ゆきひろ@トヨタケーラムです.
In message "[ruby-list:60] Re: nil and FALSE"
on 96/01/10, Tetsunori Matsubara - Nihon Sun IR <Tetsunori.Matsubara@sun.co.jp> writes:
|松原@日本サンです。
|> 今でもFALSEという定数はあるんです.ただ,FALSEという*値*が無
|> いだけで.
|
|この文を見て info の組み込み変数と定数の部分の「`TRUE'の値はt,`FALSE'の値
|は`nil' 」という文章を発見したのですが、混乱してしまいました。定数と値とは
|具体的にどう違うのか教えていただけないでしょうか?
混乱しましたか? ごめんなさい.
えーと,infoは現状(FALSEとnilに区別が無い)に基づいて記述され
ています.ですから,FALSEという「値」はまったく存在しません.
定数は値の変更できない変数だと思ってください.
現状の0.95cの仕様では
* 定数TRUEの値は特別なオブジェクト`t'
* 定数FALSEの値は`nil'
* 疑似定数nilの値は`nil'
になっています.nilは変数名であり,オブジェクトでもあります.
で,今検討している(3)案を採用すると
* 定数TRUEの値は特別なオブジェクト`TRUE'
* 定数FALSEの値は特別なオブジェクト`FALSE'
* 疑似定数nilの値は`nil'
となります(0.96からは`t'は`TRUE'に変更).
TRUE, FALSE, nilが名前であると同時に値(オブジェクト)を表すの
で,混乱を招いたのかも知れません.
|個人的には 真偽値としてTRUE, FALSE という定数(値?)があり、それとは別に
|nil という値があって nil の真偽は常に偽として評価されるというのがしっくり
|きます。
これはまさに(3)案ですね.また(3)に1票ですね.
|変な事言ってたら指摘して下さい。
いいえ,ぜんぜん変な事じゃないです.定数と値の紛らわしさを指
摘してくださってありがとうございます.
まつもと ゆきひろ /:|)