如何在下面的代码中从Up类获取Base的“hello”方法?
class Base
def hello
p 'hello from Base'
end
end
class Up < Base
def hello_orig
# how to call hello from Base class?
end
def hello
p 'hello from Up'
end
end
u = Up.new
u.hello_orig # should return 'hello from Base'
答案 0 :(得分:4)
您也可以使用别名。
class Base
def hello
p 'hello from Base'
end
end
class Up < Base
alias hello_orig hello
def hello
p 'hello from Up'
end
end
u = Up.new
u.hello_orig # should return 'hello from Base'
答案 1 :(得分:1)
试试这个,
class Base
def hello
p 'hello from Base'
end
end
class Up < Base
def hello_orig
Base.instance_method(:hello).bind(self).call
end
def hello
super()
p 'hello from Up'
end
end
u = Up.new
u.hello_orig # should return 'hello from Base' or
u.hello