作者LaPass (LaPass)
看板Ruby
标题[问题] super的呼叫
时间Wed Dec 18 23:57:56 2013
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
新手,正在边看书边练习
想请问这种状况要怎麽解决?有办法呼叫的到吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.38.65.154
1F:→ hSATAC:self.class.superclass.instance_method(:b).bind(self) 12/19 00:11
2F:→ hSATAC:.call 12/19 00:11
3F:→ mars90226:从没想过这问题,google一下好像只有一些hack的解法 12/19 00:12
4F:→ mars90226:就如楼上所说了,或者是用alias_method之类的方式 12/19 00:12
5F:→ hSATAC:method swizzling 12/19 00:15
6F:→ LaPass:感谢 m(_ _)m 12/19 00:29
7F:→ LaPass:主要还是因为在其他语言有看过这东东,在学的时候就会想, 12/19 00:29
8F:→ LaPass:在Ruby上是怎麽处理 12/19 00:30