From: Chris Pine Date: 2002-12-12T05:50:14+09:00 Subject: do I really not understand inheritance?? So, I've been really trying to get a firm understanding of objects and classes in Ruby. Just to make sure I understood what was what, though, I wrote a program to test my understanding. As I understand it, asking: obj.kind_of? mod ...is the same as asking: obj.class.ancestors.include? mod So I tested every object-class pair which comes standard with Ruby. It failed on two of these pairs, both with the Enumerable module. Here's the fast version of the code, working only with Enumerable: def doIGetIt? (obj) (obj.kind_of?(Enumerable)) == (obj.class.ancestors.include?(Enumerable)) end ObjectSpace.each_object do |obj1| if !doIGetIt? obj1 puts obj1.kind_of?(Enumerable) puts obj1.class.ancestors.inspect puts obj1 puts obj1.class puts obj1.inspect puts end end So, I'm assuming that it fails for you, too. What's the deal with the ENV object? And what is that other '-' object? Chris