----- Original Message ----- From: John Kaurin <jkaurin / home.com> To: ruby-talk ML <ruby-talk / ruby-lang.org>; <ruby-talk / netlab.co.jp> Sent: Friday, May 25, 2001 8:40 PM Subject: [ruby-talk:15742] Ruby Programming Practice [snip] > But in a general Ruby programming view, where one programmer > is controlling all the files, is it good practice for a superclass to > use a method (or instance variable) defined by a derived class? > This does not seem to follow from the library designer view. [snip] Some other people will have more valuable opinions than mine. I feel some nervousness about this. However: My impression is that the nervousness comes from my habitual use of C++, which is highly static. In short, I think this is an acceptable coding practice, as long as it is done consciously and purposefully. In fact, modules do a similar trick all the time. The Comparable module does not define a comparison operator "<=>" -- but it does call it. It depends on the class that includes the module to provide one. If the including class doesn't provide one, well, that's the error of the class author, not the module author. Does that clarify things any? I hope others will jump in here if there's a flaw in my logic. Hal