The global value true is the only instance of class
TrueClass and represents a logically true value in boolean
expressions. The class provides operators allowing true to be
used in logical expressions.
And—Returns false if obj is nil or
false, true otherwise.
static VALUE
true_and(obj, obj2)
VALUE obj, obj2;
{
return RTEST(obj2)?Qtrue:Qfalse;
}
Exclusive Or—Returns true if obj is nil
or false, false otherwise.
static VALUE
true_xor(obj, obj2)
VALUE obj, obj2;
{
return RTEST(obj2)?Qfalse:Qtrue;
}
The string representation of true is “true”.
static VALUE
true_to_s(obj)
VALUE obj;
{
return rb_str_new2("true");
}
Or—Returns true. As anObject is an argument to a
method call, it is always evaluated; there is no short-circuit evaluation
in this case.
true | puts("or") true || puts("logical or")
produces:
or
static VALUE
true_or(obj, obj2)
VALUE obj, obj2;
{
return Qtrue;
}