2011-10-31 8 views

答えて

5

FalseClassの単一インスタンスであるので、falseを使用します。 FALSEfalse値を保持する定数ですが、何もそれを他の値を代入からあなた(実際には警告のみ)を停止しません:FALSEは単なる定数、定数としてではなく、ブール値として強調されているため、色の

FALSE 
=> false 
FALSE.class 
=> FalseClass 
FALSE.object_id 
=> 0 
FALSE = 1 
(irb):5: warning: already initialized constant FALSE 
=> 1 
FALSE 
=> 1 

false 
=> false 
false.class 
=> FalseClass 
false.object_id 
=> 0 
false = 1 
SyntaxError: compile error 
(irb):14: Can't assign to false 
false = 1 
    ^

違いは、おそらくです値。

+0

再割り当てのポイントは良いです! – d11wtq

+0

再割り当てだけよりもはるかに大きな違いです。 '10'と' MAX_SIZE'を比較するようなものです - 最初は実際の値、2番目は一定の時間に値を保持する定数です(プログラムの実行開始時に初期化されるかもしれません) – MBO

+2

別の言い方をすると、 'false'は組み込みです*は '42'や' 'Hello''のように*リテラル*ですが、' FALSE'は 'FORTYTWO'や' HELLO'のような普通の古い変数です。したがって、 'false'はRuby言語仕様で指定されているように正確に定義された意味を持ちますが、' FALSE'はまったく意味がありません。 –

1

falseおよびFALSEの両方が定義されていますが、大文字と小文字は区別されません。それで、たとえば、FaLsEと入力することはできません。

個人的には小文字のままにしておくことをおすすめします。私は決して他の人々のプロジェクトでは大文字のバージョンは見ませんが、あなたが使うべき主観的なものです。

関連する問題