obj === other → true or false
Case Equality—For class Object, effectively the same as calling #==, but typically overridden by descendants to provide meaningful semantics in case statements.
obj === other 返回true或者false
用于case语句时的比较,对于Object类来说,===的行为和==是一致的,但这个通常被子类(后裔)覆盖,以便在case语句中提供更有意义的语义。
1 === Fixnum #=>false 1是Object而非Module, ===等同于==,而1显然不是Fixnum Fixnum === 1 #=> true Fixnum是Class也是Module,1是Fixnum的实例,也就是Fixnum的后裔。 RPG::Weapon === RPG::Weapon #=> false RPG::Weapon 不是 RPG::Weapon的实例及后裔!
Class === Class #=> true #等效于Class.kind_of? Class Class.ancestors #=> [Class, Module, Object, Kernel, BasicObject] #我们看下Class的继承关系,也就是它的祖先 Object == Class #=>true #等效于Class.kind_of? Object # 因为我们观察到Object是Class的祖先,所以这个是成立的 #
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |