From: John Kaurin Date: 2001-05-26T12:40:05+09:00 Subject: [ruby-talk:15742] Ruby Programming Practice Although the following code is legal in Ruby (assuming I made no mistakes), is it good Ruby programming practice? From a library designer's point of view (assuming file1.rb is a library and the designer knows nothing about file2.rb) it does not (seem to) make sense. 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. I know all the methods (and instance variables) are dynamically part of the object (o) and classes can be modified at runtime, but I am still struggling with the previous perspective. file1.rb class A def methodA p "Method A" methodB end end --- file2.rb include "file1" class B < A def methodB p "Method B" end end o = B.new o.methodA