The global value false is the only instance of class
FalseClass and represents a logically false value in boolean
expressions. The class provides operators allowing false to
participate correctly in logical expressions.
And---Returns false. obj is always evaluated as it is
the argument to a method call---there is no short-circuit evaluation in
this case.
static VALUE
false_and(VALUE obj, VALUE obj2)
{
return Qfalse;
}
Exclusive Or---If obj is nil or false,
returns false; otherwise, returns true.
static VALUE
false_xor(VALUE obj, VALUE obj2)
{
return RTEST(obj2)?Qtrue:Qfalse;
}
'nuf said...
static VALUE
false_to_s(VALUE obj)
{
return rb_usascii_str_new2("false");
}
Or---Returns false if obj is nil or
false; true otherwise.
static VALUE
false_or(VALUE obj, VALUE obj2)
{
return RTEST(obj2)?Qtrue:Qfalse;
}