# class TrueClass

The class of the singleton object `true`.

Several of its methods act as operators:

- `&`

- `|`

- `===`

- `^`

One other method:

- `to_s` and its alias `inspect`.

### Public Instance Methods

true & object → true or false
Source

    static VALUE
    true_and(VALUE obj, VALUE obj2)
    {
        return RBOOL(RTEST(obj2));
    }

Returns `false` if `object` is `false` or `nil`, `true` otherwise:

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

true === other → true or false
false === other → true or false
nil === other → true or false
Source

    #define case_equal rb_equal

Returns `true` or `false`.

Like `Object#==`, if `object` is an instance of `Object` (and not an instance of one of its many subclasses).

This method is commonly overridden by those subclasses, to provide meaningful semantics in `case` statements.

true ^ object → !object
Source

    static VALUE
    true_xor(VALUE obj, VALUE obj2)
    {
        return rb_obj_not(obj2);
    }

Returns `true` if `object` is `false` or `nil`, `false` otherwise:

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

true | object → true
Source

    static VALUE
    true_or(VALUE obj, VALUE obj2)
    {
        return Qtrue;
    }

Returns `true`:

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

Argument `object` is evaluated. This is different from `true` with the short-circuit operator, whose operand is evaluated only if necessary:

    true | raise # => Raises RuntimeError.
    true || raise # => true

inspect
Alias for: to_s
to_s → 'true'
Source

    VALUE
    rb_true_to_s(VALUE obj)
    {
        return rb_cTrueClass_to_s;
    }

Returns string `'true'`:

    true.to_s # => "true"

`TrueClass#inspect` is an alias for `TrueClass#to_s`.

Also aliased as: inspect