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;
}
Commenting is here to help enhance the documentation. For example, sample code, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.