[問題] super的呼叫

作者: LaPass (LaPass)   2013-12-18 23:57:56
class A
def a
puts "A exe"
end
def b
puts "B exe"
end
end
class B < A
def a
#HOW TO CALL A.b ??
super
puts "A2 exe"
end
def b
super
puts "B2 exe"
end
end
a=B.new
a.a
新手,正在邊看書邊練習
想請問這種狀況要怎麼解決?有辦法呼叫的到嗎?
作者: hSATAC (cAt Ash)   2013-02-19 00:11:00
self.class.superclass.instance_method(:b).bind(self).call
作者: mars90226 (火星人)   2013-02-19 00:12:00
從沒想過這問題,google一下好像只有一些hack的解法就如樓上所說了,或者是用alias_method之類的方式
作者: hSATAC (cAt Ash)   2013-02-19 00:15:00
method swizzling
作者: LaPass (LaPass)   2013-02-19 00:29:00
感謝 m(_ _)m主要還是因為在其他語言有看過這東東,在學的時候就會想,在Ruby上是怎麼處理
作者: jokester (蠻王科科)   2013-02-19 14:02:00

Links booklink

Contact Us: admin [ a t ] ucptt.com