Extended maintenance of Ruby versions 1.8.7 and 1.9.2 ended on July 31, 2014. Read more
The class of the singleton object nil.
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(obj, obj2)
VALUE obj, obj2;
{
return Qfalse;
}
Exclusive Or—If obj is nil or false,
returns false; otherwise, returns true.
static VALUE
false_xor(obj, obj2)
VALUE obj, obj2;
{
return RTEST(obj2)?Qtrue:Qfalse;
}
Always returns the string “nil”.
static VALUE
nil_inspect(obj)
VALUE obj;
{
return rb_str_new2("nil");
}
call_seq:
nil.nil? => true
Only the object nil responds true to
nil?.
static VALUE
rb_true(obj)
VALUE obj;
{
return Qtrue;
}
Always returns an empty array.
nil.to_a #=> []
static VALUE
nil_to_a(obj)
VALUE obj;
{
return rb_ary_new2(0);
}
Always returns zero.
nil.to_f #=> 0.0
static VALUE
nil_to_f(obj)
VALUE obj;
{
return rb_float_new(0.0);
}
Always returns zero.
nil.to_i #=> 0
static VALUE
nil_to_i(obj)
VALUE obj;
{
return INT2FIX(0);
}