Class: NilClass
| Relationships & Source Files | |
| Inherits: | Object | 
| Defined in: | object.c, complex.c, nilclass.rb, object.c, rational.c | 
Overview
The class of the singleton object nil.
Instance Attribute Summary
- 
    
      #nil?  ⇒ Boolean 
    
    readonly
    Only the object nil responds truetonil?.
Instance Method Summary
- 
    
      #&(obj)  ⇒ false 
    
    And—Returns false.
- #===
- 
    
      #=~(other)  ⇒ nil 
    
    Dummy pattern matching – always returns nil. 
- #^
- 
    
      #inspect  ⇒ "nil" 
    
    Always returns the string “nil”. 
- 
    
      #rationalize([eps])  ⇒ 1 
    
    Returns zero as a rational. 
- 
    
      #to_a  ⇒ Array 
    
    Always returns an empty array. 
- 
    
      #to_c  ⇒ (0+0i) 
    
    Returns zero as a complex. 
- 
    
      #to_f  ⇒ 0.0 
    
    Always returns zero. 
- 
    
      #to_h  ⇒ {} 
    
    Always returns an empty hash. 
- 
    
      #to_i  ⇒ 0 
    
    Always returns zero. 
- 
    
      #to_r  ⇒ 1 
    
    Returns zero as a rational. 
- 
    
      #to_s  ⇒ "" 
    
    Always returns the empty string. 
- #|
Instance Attribute Details
    #nil?  ⇒ Boolean  (readonly)  
Only the object nil responds true to nil?.
# File 'object.c', line 1465
static VALUE
rb_true(VALUE obj)
{
    return Qtrue;
}
  Instance Method Details
    
      #&(obj)  ⇒ false 
      #&(obj)  ⇒ false 
    
  
false 
      #&(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.
# File 'object.c', line 1427
static VALUE
false_and(VALUE obj, VALUE obj2)
{
    return Qfalse;
}
  #===
[ GitHub ]
    #=~(other)  ⇒ nil   
Dummy pattern matching – always returns nil.
# File 'object.c', line 1311
static VALUE
nil_match(VALUE obj1, VALUE obj2)
{
    return Qnil;
}
  #^
[ GitHub ]
    #inspect  ⇒ "nil"   
Always returns the string “nil”.
# File 'object.c', line 1298
static VALUE
nil_inspect(VALUE obj)
{
    return rb_usascii_str_new2("nil");
}
  
    #rationalize([eps])  ⇒ 1   
Returns zero as a rational.  The optional argument eps is always ignored.
# File 'rational.c', line 2142
static VALUE
nilclass_rationalize(int argc, VALUE *argv, VALUE self)
{
    rb_check_arity(argc, 0, 1);
    return nilclass_to_r(self);
}
  #to_a ⇒ Array
Always returns an empty array.
nil.to_a   #=> []# File 'object.c', line 1268
static VALUE
nil_to_a(VALUE obj)
{
    return rb_ary_new2(0);
}
  
    #to_c  ⇒ (0+0i)   
Returns zero as a complex.
# File 'complex.c', line 1679
static VALUE
nilclass_to_c(VALUE self)
{
    return rb_complex_new1(INT2FIX(0));
}
  
    #to_f  ⇒ 0.0   
Always returns zero.
nil.to_f   #=> 0.0# File 'nilclass.rb', line 22
def to_f return 0.0 end
#to_h ⇒ {}
Always returns an empty hash.
nil.to_h   #=> {}# File 'object.c', line 1285
static VALUE
nil_to_h(VALUE obj)
{
    return rb_hash_new();
}
  
    #to_i  ⇒ 0   
Always returns zero.
nil.to_i   #=> 0# File 'nilclass.rb', line 10
def to_i return 0 end
    #to_r  ⇒ 1   
Returns zero as a rational.
# File 'rational.c', line 2129
static VALUE
nilclass_to_r(VALUE self)
{
    return rb_rational_new1(INT2FIX(0));
}
  #to_s ⇒ ""
Always returns the empty string.
# File 'object.c', line 1251
MJIT_FUNC_EXPORTED VALUE
rb_nil_to_s(VALUE obj)
{
    return rb_cNilClass_to_s;
}