2011-10-31 3 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

재 할당 만하는 것보다 훨씬 큰 차이가 있습니다. 'MAX_SIZE'와 '10'을 비교하는 것과 같습니다. - 첫번째는 실제 값이고, 두번째는 특정 시간에 값을 보유합니다. (프로그램 실행 시작시 초기화 될 수 있습니다.) – MBO

+2

다른 방식으로 말하자면 :'false'는 내장되어 있습니다. * 리터럴 *은'42' 나'Hello '와 같고,'FALSE'는'FORTYTWO' 나'HELLO'와 같은 보통의 오래된 변수 (실제로는 상수)입니다. 그래서,'false'는 Ruby 언어 명세에 명시된 의미를 정확하게 정의하고,'FALSE'는 전혀 의미가 없습니다. –

1

falseFALSE은 모두 정의되지만 대소 문자를 구분하지 않습니다. 예를 들어, FaLsE을 입력 할 수 없다는 의미입니다.

개인적으로 소문자 버전을 사용하는 것이 좋습니다. 나는 다른 사람들의 프로젝트에서 대문자 버전을 보지 못했지만 분명히 주관적인 것입니다.

관련 문제