From: "Iñaki Baz Castillo" Date: 2009-04-07T07:12:48+09:00 Subject: class C < B < A Hi, I have this case: class A ; end class B < A ; end class C < B ; end a = A.new b = B.new c = C.new I look for a way (***) to get the following results: a) a *** A => true a *** B => false a *** C => false b) b *** A => false (*1) b *** B => true b *** C => false c) c *** A => false (*2) c *** B => true c *** C => true Note that I could use ===, so: A === a => true A === b => false but in cases *1 and *2 the result is not what I want: A === b => true (I want false) A === c => true (I want false) I could play with a.class.ancestors, but isn't another way? Thanks a lot. -- Iñaki Baz Castillo