Class: NilClass

Inherits:
Object show all
Defined in:
object.c,
object.c

Overview

The class of the singleton object nil.

Instance Method Summary collapse

Instance Method Details

#&(obj) ⇒ 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.

Overloads:

  • #&(obj) ⇒ false

    Returns:

    • (false)
  • #&(obj) ⇒ false

    Returns:

    • (false)

1516
1517
1518
1519
1520
# File 'object.c', line 1516

static VALUE
false_and(VALUE obj, VALUE obj2)
{
    return Qfalse;
}

#===Object

#=~(other) ⇒ nil

Dummy pattern matching – always returns nil.

Returns:

  • (nil)

1400
1401
1402
1403
1404
# File 'object.c', line 1400

static VALUE
nil_match(VALUE obj1, VALUE obj2)
{
    return Qnil;
}

#^Object

#inspectObject

Always returns the string “nil”.


1387
1388
1389
1390
1391
# File 'object.c', line 1387

static VALUE
nil_inspect(VALUE obj)
{
    return rb_usascii_str_new2("nil");
}

#nil?true

Only the object nil responds true to nil?.

Returns:

  • (true)

1554
1555
1556
1557
1558
# File 'object.c', line 1554

static VALUE
rb_true(VALUE obj)
{
    return Qtrue;
}

#rationalize([eps]) ⇒ Object

Returns zero as a rational. The optional argument eps is always ignored.


2128
2129
2130
2131
2132
2133
# File 'rational.c', line 2128

static VALUE
nilclass_rationalize(int argc, VALUE *argv, VALUE self)
{
    rb_check_arity(argc, 0, 1);
    return nilclass_to_r(self);
}

#to_aObject

call-seq:

   nil.to_a    -> []

Always returns an empty array.

   nil.to_a   #=> []

1357
1358
1359
1360
1361
# File 'object.c', line 1357

static VALUE
nil_to_a(VALUE obj)
{
    return rb_ary_new2(0);
}

#to_cObject

Returns zero as a complex.


1694
1695
1696
1697
1698
# File 'complex.c', line 1694

static VALUE
nilclass_to_c(VALUE self)
{
    return rb_complex_new1(INT2FIX(0));
}

#to_f0.0

Always returns zero.

nil.to_f   #=> 0.0

Returns:

  • (0.0)

1327
1328
1329
1330
1331
# File 'object.c', line 1327

static VALUE
nil_to_f(VALUE obj)
{
    return DBL2NUM(0.0);
}

#to_hObject

call-seq:

   nil.to_h    -> {}

Always returns an empty hash.

   nil.to_h   #=> {}

1374
1375
1376
1377
1378
# File 'object.c', line 1374

static VALUE
nil_to_h(VALUE obj)
{
    return rb_hash_new();
}

#to_i0

Always returns zero.

nil.to_i   #=> 0

Returns:

  • (0)

1312
1313
1314
1315
1316
# File 'object.c', line 1312

static VALUE
nil_to_i(VALUE obj)
{
    return INT2FIX(0);
}

#to_rObject

Returns zero as a rational.


2115
2116
2117
2118
2119
# File 'rational.c', line 2115

static VALUE
nilclass_to_r(VALUE self)
{
    return rb_rational_new1(INT2FIX(0));
}

#to_sObject

Always returns the empty string.


1340
1341
1342
1343
1344
# File 'object.c', line 1340

static VALUE
nil_to_s(VALUE obj)
{
    return rb_cNilClass_to_s;
}

#|Object