In Files

  • complex.c
  • object.c
  • rational.c
toggle debugging

NilClass

The class of the singleton object nil.

Public Instance Methods

false & obj → false click to toggle source
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;
}
            
false ^ obj → true or false click to toggle source
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 → "nil" click to toggle source

Always returns the string “nil”.

 
               static VALUE
nil_inspect(VALUE obj)
{
    return rb_usascii_str_new2("nil");
}
            
nil?() click to toggle source

call_seq:

nil.nil?               -> true

Only the object nil responds true to nil?.

 
               static VALUE
rb_true(VALUE obj)
{
    return Qtrue;
}
            
rationalize([eps]) → (0/1) click to toggle source

Returns zero as a rational. The 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);
}
            
to_a → [] click to toggle source

Always returns an empty array.

nil.to_a   #=> []
 
               static VALUE
nil_to_a(VALUE obj)
{
    return rb_ary_new2(0);
}
            
to_c → (0+0i) click to toggle source

Returns zero as a complex.

 
               static VALUE
nilclass_to_c(VALUE self)
{
    return rb_complex_new1(INT2FIX(0));
}
            
to_f → 0.0 click to toggle source

Always returns zero.

nil.to_f   #=> 0.0
 
               static VALUE
nil_to_f(VALUE obj)
{
    return DBL2NUM(0.0);
}
            
to_h → {} click to toggle source

Always returns an empty hash.

nil.to_h   #=> {}
 
               static VALUE
nil_to_h(VALUE obj)
{
    return rb_hash_new();
}
            
to_i → 0 click to toggle source

Always returns zero.

nil.to_i   #=> 0
 
               static VALUE
nil_to_i(VALUE obj)
{
    return INT2FIX(0);
}
            
to_r → (0/1) click to toggle source

Returns zero as a rational.

 
               static VALUE
nilclass_to_r(VALUE self)
{
    return rb_rational_new1(INT2FIX(0));
}
            
to_s → "" click to toggle source

Always returns the empty string.

 
               static VALUE
nil_to_s(VALUE obj)
{
    return rb_usascii_str_new(0, 0);
}
            
false | obj → true or false click to toggle source
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;
}
            

Commenting is here to help enhance the documentation. For example, code samples, 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.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus