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.

Methods
#
I
T
#
Instance Public methods
false & obj → false
nil & obj → false

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;
}
obj === other → true or false

Case Equality – For class Object, effectively the same as calling #==, but typically overridden by descendants to provide meaningful semantics in case statements.

VALUE
rb_equal(VALUE obj1, VALUE obj2)
{
    VALUE result;

    if (obj1 == obj2) return Qtrue;
    result = rb_funcall(obj1, id_eq, 1, obj2);
    if (RTEST(result)) return Qtrue;
    return Qfalse;
}
false ^ obj → true or false
nil ^ obj → true or false

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;
}
inspect()
Alias for: to_s
false.to_s → "false"

'nuf said…

Also aliased as: inspect
static VALUE
false_to_s(VALUE obj)
{
    return rb_usascii_str_new2("false");
}
false | obj → true or false
nil | obj → true or 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;
}