为什么fixnum没有特征类?
这个方法是返回任何对象的特征类:
class Object
def eigenclass
class << self; self; end
end
end
字符串示例:
"abc".eigenclass # => #<Class:#<String:0x331df0>>
阵:
[1, 2].eigenclass # => #<Class:#<Array:0x0000000065d218>>
但是使用Fixnum:
1.eigenclass # => TypeError: can't define singleton
为什么?
正如Ruby Docs所说:
对于任何给定的整数值,实际上只有一个Fixnum对象实例,因此,例如,不能将单例方法添加到Fixnum。
Bignum
, Float
和Symbol
也是如此