Class: TrueClass
Overview
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.
Instance Method Summary collapse
-
#&(obj) ⇒ Boolean
And---Returns
false
if obj isnil
orfalse
,true
otherwise. -
#^(obj) ⇒ Object
Exclusive Or---Returns
true
if obj isnil
orfalse
,false
otherwise. -
#to_s ⇒ Object
The string representation of
true
is "true". -
#|(obj) ⇒ true
Or---Returns
true
.
Instance Method Details
#&(obj) ⇒ Boolean
And---Returns false
if obj is nil
or false
, true
otherwise.
|
# File 'object.c'
/*
* call-seq:
* true & obj => true or false
*
* And---Returns <code>false</code> if <i>obj</i> is
* <code>nil</code> or <code>false</code>, <code>true</code> otherwise.
*/
static VALUE
true_and(obj, obj2)
VALUE obj, obj2;
{
return RTEST(obj2)?Qtrue:Qfalse;
}
|
#^(obj) ⇒ Object
Exclusive Or---Returns true
if obj is nil
or false
, false
otherwise.
|
# File 'object.c'
/*
* call-seq:
* true ^ obj => !obj
*
* Exclusive Or---Returns <code>true</code> if <i>obj</i> is
* <code>nil</code> or <code>false</code>, <code>false</code>
* otherwise.
*/
static VALUE
true_xor(obj, obj2)
VALUE obj, obj2;
{
return RTEST(obj2)?Qfalse:Qtrue;
}
|
#to_s ⇒ Object
The string representation of true
is "true".
|
# File 'object.c'
/*
* call-seq:
* true.to_s => "true"
*
* The string representation of <code>true</code> is "true".
*/
static VALUE
true_to_s(obj)
VALUE obj;
{
return rb_str_new2("true");
}
|
#|(obj) ⇒ 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
|
# File 'object.c'
/*
* call-seq:
* true | obj => true
*
* Or---Returns <code>true</code>. As <i>anObject</i> 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")
*
* <em>produces:</em>
*
* or
*/
static VALUE
true_or(obj, obj2)
VALUE obj, obj2;
{
return Qtrue;
}
|