The short answer is that it would be a crazy conversation if the result of this was "Hello World". The only two outputs that make any sense would be "Hello qux" or "qux World." In this case, "qux World" is the result because it is an order:
Sample extends Foo , initialize inherited from FooSample includes Bar , initialize overriddenSample defines initialize , which calls super , which indicates the most recent implementation of the ancestor initialize , in this case Bar 's
This will hopefully make it clearer:
class Foo def initialize(a) puts "Hello
Output:
Hello qux
qux world
source share