[MacRuby-devel] super method
Konstantin Haase
konstantin.mailinglists at googlemail.com
Tue Sep 7 13:00:46 PDT 2010
On Sep 7, 2010, at 21:53 , Robert Rice wrote:
> I didn't see super in the ruby-doc.org/ruby-1.9/index.html unless super is short for superclass.
In Ruby, super is not a real method call but a key word. Also, it does not behave exactly like a method call (implicit arguments/block and what not). Therefore it is not in the generated method list.
>
> Can I reach a superclass method without having the message go first to my subclass override of the method?
Not as easily and general as in Smalltalk but you can do something like this:
class Foo
def foo
20
end
end
class Bar < Foo
def foo
super * 2
end
end
class Baz < Bar
def foo
method = Foo.instance_method(__method__).bind(self)
method.call
end
end
puts Foo.new.foo # => 20
puts Bar.new.foo # => 40
puts Baz.new.foo # => 20
Konstantin
More information about the MacRuby-devel
mailing list