class NilClass
单例对象 nil
的类。
它的几个方法充当运算符
其他方法充当转换器,将 空值 的概念传递给其他类
虽然 nil
没有明确定义的 to_hash 方法,但它可以用于 **
解包,而不添加任何关键字参数。
另一个方法提供检查功能
最后,还有这个查询方法
公共实例方法
源码
static VALUE false_and(VALUE obj, VALUE obj2) { return Qfalse; }
返回 false
false & true # => false false & Object.new # => false
计算参数 object
的值
false & raise # Raises RuntimeError.
源码
源码
static VALUE nil_match(VALUE obj1, VALUE obj2) { return Qnil; }
返回 nil
。
此方法使其在编写时很有用
while gets =~ /re/ # ... end
源码
#define false_xor true_and
如果 object
是 nil
或 false
,则返回 false
,否则返回 true
nil ^ nil # => false nil ^ false # => false nil ^ Object.new # => true
源码
#define false_or true_and
如果 object
是 nil
或 false
,则返回 false
,否则返回 true
nil | nil # => false nil | false # => false nil | Object.new # => true
源码
static VALUE nil_inspect(VALUE obj) { return rb_usascii_str_new2("nil"); }
返回字符串 'nil'
nil.inspect # => "nil"
源码
static VALUE nilclass_rationalize(int argc, VALUE *argv, VALUE self) { rb_check_arity(argc, 0, 1); return nilclass_to_r(self); }
返回零作为有理数
nil.rationalize # => (0/1)
忽略参数 eps
。
源码
源码
static VALUE nilclass_to_c(VALUE self) { return rb_complex_new1(INT2FIX(0)); }
返回零作为复数
nil.to_c # => (0+0i)
源码
源码
static VALUE nilclass_to_r(VALUE self) { return rb_rational_new1(INT2FIX(0)); }
返回零作为有理数
nil.to_r # => (0/1)