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(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; }
Always returns the string “nil”.
static VALUE nil_inspect(VALUE obj) { return rb_usascii_str_new2("nil"); }
call_seq:
nil.nil? -> true
Only the object nil responds true
to
nil?
.
static VALUE rb_true(VALUE obj) { return Qtrue; }
Returns zero as a rational. An optional argument eps is always ignored.
static VALUE nilclass_rationalize(int argc, VALUE *argv, VALUE self) { rb_scan_args(argc, argv, "01", NULL); return nilclass_to_r(self); }
Always returns an empty array.
nil.to_a #=> []
static VALUE nil_to_a(VALUE obj) { return rb_ary_new2(0); }
Returns zero as a complex.
static VALUE nilclass_to_c(VALUE self) { return rb_complex_new1(INT2FIX(0)); }
Always returns zero.
nil.to_f #=> 0.0
static VALUE nil_to_f(VALUE obj) { return DBL2NUM(0.0); }
Always returns zero.
nil.to_i #=> 0
static VALUE nil_to_i(VALUE obj) { return INT2FIX(0); }
Returns zero as a rational.
static VALUE nilclass_to_r(VALUE self) { return rb_rational_new1(INT2FIX(0)); }
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.