NilClass 類別

單例物件 nil 的類別。

它的幾個方法作為運算子使用

其他方法作為轉換器使用,將 nullity 的概念傳遞到其他類別

另一個方法提供檢查

最後,有這個查詢方法

公開實例方法

false & object → false 按一下以切換來源
nil & object → false

傳回 false

false & true       # => false
false & Object.new # => false

引數 object 會被評估

false & raise # Raises RuntimeError.
static VALUE
false_and(VALUE obj, VALUE obj2)
{
    return Qfalse;
}
true === other → true or false 按一下以切換來源
false === other → true or false
nil === other → true or false

傳回 truefalse

就像 Object#==,如果 objectObject 的實例(而不是它的眾多子類別之一的實例)。

這個方法通常會被那些子類別覆寫,以在 case 陳述式中提供有意義的語意。

#define case_equal rb_equal
nil =~ object → nil 按一下以切換來源

傳回 nil

這個方法讓撰寫以下程式碼變得很有用

while gets =~ /re/
  # ...
end
static VALUE
nil_match(VALUE obj1, VALUE obj2)
{
    return Qnil;
}
false ^ object → true or false 按一下以切換來源
nil ^ object → true or false

如果 objectnilfalse 則傳回 false,否則傳回 true

nil ^ nil        # => false
nil ^ false      # => false
nil ^ Object.new # => true
#define false_xor true_and
inspect → 'nil' 按一下以切換來源

傳回字串 'nil'

nil.inspect # => "nil"
static VALUE
nil_inspect(VALUE obj)
{
    return rb_usascii_str_new2("nil");
}
nil? → true 按一下以切換來源

傳回 true。對於所有其他物件,方法 nil? 傳回 false

static VALUE
rb_true(VALUE obj)
{
    return Qtrue;
}
rationalize(eps = nil) → (0/1) 按一下以切換來源

傳回零值,作為有理數

nil.rationalize # => (0/1)

參數 eps 會被忽略。

static VALUE
nilclass_rationalize(int argc, VALUE *argv, VALUE self)
{
    rb_check_arity(argc, 0, 1);
    return nilclass_to_r(self);
}
to_a → [] 按一下以切換來源

傳回一個空的 陣列

nil.to_a # => []
static VALUE
nil_to_a(VALUE obj)
{
    return rb_ary_new2(0);
}
to_c → (0+0i) 按一下以切換來源

傳回零值,作為複數

nil.to_c # => (0+0i)
static VALUE
nilclass_to_c(VALUE self)
{
    return rb_complex_new1(INT2FIX(0));
}
to_d → bigdecimal 按一下以切換來源

傳回以 BigDecimal 表示的 nil。

require 'bigdecimal'
require 'bigdecimal/util'

nil.to_d   # => 0.0
# File ext/bigdecimal/lib/bigdecimal/util.rb, line 182
def to_d
  BigDecimal(0)
end
to_f → 0.0 按一下以切換來源

永遠傳回零。

nil.to_f   #=> 0.0
# File nilclass.rb, line 22
def to_f
  return 0.0
end
to_h → {} 按一下以切換來源

傳回一個空的 雜湊

nil.to_h   #=> {}
static VALUE
nil_to_h(VALUE obj)
{
    return rb_hash_new();
}
to_i → 0 按一下以切換來源

永遠傳回零。

nil.to_i   #=> 0
# File nilclass.rb, line 10
def to_i
  return 0
end
to_r → (0/1) 按一下以切換來源

傳回零值,作為有理數

nil.to_r # => (0/1)
static VALUE
nilclass_to_r(VALUE self)
{
    return rb_rational_new1(INT2FIX(0));
}
to_s → '' 按一下以切換來源

傳回一個空的字串

nil.to_s # => ""
VALUE
rb_nil_to_s(VALUE obj)
{
    return rb_cNilClass_to_s;
}
false | 物件 → true 或 false 按一下以切換來源
nil | 物件 → true 或 false

如果 objectnilfalse 則傳回 false,否則傳回 true

nil | nil        # => false
nil | false      # => false
nil | Object.new # => true
#define false_or true_and