TrueClass

TrueClass (true 싱글턴 객체의 클래스)

TrueClass는 싱글턴 객체 **true**의 클래스예요. true 하나만을 위한 클래스라, 그 몇 안 되는 메서드들이 곧 true에 붙는 동작이라고 보면 돼요. 여러 메서드가 연산자처럼 동작해요.

출처: Ruby 4.0 API

본문

인스턴스 메서드 (Public Instance Methods)

true & object → true or false

objectfalse 또는 nil이면 false, 그 외에는 true를 돌려줘요.

true & Object.new  # => true
true & false       # => false
true & nil         # => false

true === other → true or false

true 또는 false를 돌려줘요. Object#==처럼, otherObject의 인스턴스(그 많은 서브클래스의 인스턴스가 아니라)일 때 동작해요. 이 메서드는 보통 서브클래스에서 case 문에 의미 있는 동작을 주려고 재정의(override)해요. TrueClass에서의 ===othertrue인지 확인하는 데 쓰여요.

true ^ object → !object

objectfalse 또는 nil이면 true, 그 외에는 false를 돌려줘요. 즉 XOR(exclusive or) 느낌의 동작이에요.

true ^ Object.new # => false
true ^ false      # => true
true ^ nil        # => true

true | object → true

항상 true를 돌려줘요.

true | Object.new # => true
true | false      # => true
true | nil        # => true

주의할 점은 인자 object평가(evaluated) 된다는 것이에요. || 같은 단락(short-circuit) 연산자는 필요할 때만 피연산자를 평가하지만, |는 피연산자를 항상 평가해요.

true | raise  # => RuntimeError 발생
true || raise # => true

to_s → 'true' (inspect 별칭)

문자열 'true'를 돌려줘요.

true.to_s # => "true"

TrueClass#inspectTrueClass#to_s의 별칭이에요.