【发布时间】:2016-06-03 12:39:10
【问题描述】:
它们看起来是等价的,但比较起来却是错误的:
5.is_a? Fixnum
# => true
5.is_a? Numeric
# => true
Numeric == Fixnum
# => false
【问题讨论】:
-
Numeric是所有数字类的基类,例如Fixnum、Float或Rational。搜索 ruby numeric class hierarchy 以获得概览。 -
啊,谢谢!仔细看,你是否同意以下几点:所有是 Fixnum 的都是 Numeric 类的实例,但不是所有的 Numeric 都是 Fixnum
-
@GMarx 是
Fixnum < Integer < Numeric < Object。您还可以得出结论 “每个 Integer 都是 Object,但并非每个 Object 都是 Integer” - 很明显,不是吗? -
完美,谢谢@Stefan
标签: ruby-on-rails ruby ruby-on-rails-3 numeric fixnum