From: Aredridel Date: 2004-07-08T07:43:27+09:00 Subject: Re: Class#=== has interesting results > Why is that this is defined like that and not like this: > > Case Equality --- Returns true if anObject is an instance of mod, one of mod's > descendents or _is mod_. Because then it would match some instances of class Class, instances of mod and instances of descendants of mod. That's three separate things, two closely related and a third that's not. It doesn't match descendants of mod -- it matches instances of descendants of mod. I can't think of any use-case where matching instances of Class in addition to instances of Mod would be useful. > I understand what it matches, that is not the purpose of my line of questions, I > am asking why it doesn't also match itself, and for what reason you would want > to match descendents of x but not x itself. Does anyone have a logical reason > why this is the case? I think you confuse the kind_of? relation with the equals or "is" relation. Class kind_of Class Class kind_of Object Object kind_of Object Class is Class mod is_a Class instance kind_of mod instance kind_of Object but not instance kind_of Class instance is_a Class Ari