Skip to Content Skip to Search

The class of the singleton object true.

Several of its methods act as operators:

One other method:

Methods
#
I
T
#

Instance Public methods

true & object → true or false

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

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

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

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

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.

#define case_equal rb_equal

true ^ object → !object

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

true ^ Object.new # => false
true ^ false      # => true
true ^ nil        # => true
static VALUE
true_xor(VALUE obj, VALUE obj2)
{
    return rb_obj_not(obj2);
}

inspect()

Returns string 'true':

true.to_s # => "true"

TrueClass#inspect is an alias for TrueClass#to_s.

Alias for: to_s

true.to_s → 'true'

Returns string 'true':

true.to_s # => "true"

TrueClass#inspect is an alias for TrueClass#to_s.

Also aliased as: inspect
VALUE
rb_true_to_s(VALUE obj)
{
    return rb_cTrueClass_to_s;
}

true | object → true

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
static VALUE
true_or(VALUE obj, VALUE obj2)
{
    return Qtrue;
}