class NilClass
单例对象 nil 的类。
它的许多方法充当运算符
其他则充当转换器,将空值的概念传递给其他类
虽然 nil 没有明确定义的 to_hash 方法,但它可以在 ** 解包中使用,而不添加任何关键字参数。
另一个方法提供了检查
最后,还有这个查询方法
Public Instance Methods
Source
static VALUE
false_and(VALUE obj, VALUE obj2)
{
return Qfalse;
}
返回 false
false & true # => false false & Object.new # => false
参数 object 被求值
false & raise # Raises RuntimeError.
Source
#define case_equal rb_equal
Source
static VALUE
nil_match(VALUE obj1, VALUE obj2)
{
return Qnil;
}
返回 nil。
这个方法使得编写以下代码很有用
while gets =~ /re/ # ... end
Source
#define false_xor true_and
如果 object 是 nil 或 false,则返回 false,否则返回 true
nil ^ nil # => false nil ^ false # => false nil ^ Object.new # => true
Source
#define false_or true_and
如果 object 是 nil 或 false,则返回 false,否则返回 true
nil | nil # => false nil | false # => false nil | Object.new # => true
Source
static VALUE
nil_inspect(VALUE obj)
{
return rb_usascii_str_new2("nil");
}
返回字符串 'nil'
nil.inspect # => "nil"
Source
static VALUE
rb_true(VALUE obj)
{
return Qtrue;
}
返回 true。对于所有其他对象,方法 nil? 返回 false。
Source
# File nilclass.rb, line 12 def rationalize(eps = nil) 0r end
将零作为有理数返回
nil.rationalize # => (0/1)
参数 eps 被忽略。
Source
VALUE
rb_nil_to_s(VALUE obj)
{
return rb_cNilClass_to_s;
}
返回一个空的 String
nil.to_s # => ""