TrueClass
TrueClass (true 싱글턴 객체의 클래스)
TrueClass는 싱글턴 객체 **true**의 클래스예요. true 하나만을 위한 클래스라, 그 몇 안 되는 메서드들이 곧 true에 붙는 동작이라고 보면 돼요. 여러 메서드가 연산자처럼 동작해요.
출처: Ruby 4.0 API
본문
인스턴스 메서드 (Public Instance Methods)
true & object → true or false
object가 false 또는 nil이면 false, 그 외에는 true를 돌려줘요.
true & Object.new # => true
true & false # => false
true & nil # => false
true === other → true or false
true 또는 false를 돌려줘요. Object#==처럼, other가 Object의 인스턴스(그 많은 서브클래스의 인스턴스가 아니라)일 때 동작해요. 이 메서드는 보통 서브클래스에서 case 문에 의미 있는 동작을 주려고 재정의(override)해요. TrueClass에서의 ===는 other가 true인지 확인하는 데 쓰여요.
true ^ object → !object
object가 false 또는 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#inspect는 TrueClass#to_s의 별칭이에요.