Предположим, у меня есть два класса, вот так:
class Parent
def say
"I am a parent"
end
end
class Child < Parent
def say
"I am a child"
end
def super_say
#I want to call Parent.new#say method here
end
end
Какие есть варианты сделать это? Я думал о:
def super_say
self.superclass.new.say #obviously the most straight forward way, but inefficient
end
def super_say
m = self.superclass.instance_method(:say)
m = m.bind(self)
m.call
#this works, but it's quite verbose, is it even idiomatic?
end
Я ищу способ, который не предполагает псевдонима Parent.new #, скажем что-то еще, что сделало бы его уникальным в цепочке поиска метода (или это действительно предпочтительный способ?)
Есть предложения?