[問題] super的呼叫

看板Ruby作者 (LaPass)時間11年前 (2013/12/18 23:58), 編輯推噓0(009)
留言9則, 4人參與, 最新討論串1/1
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

12/19 00:11, , 1F
self.class.superclass.instance_method(:b).bind(self)
12/19 00:11, 1F

12/19 00:11, , 2F
.call
12/19 00:11, 2F

12/19 00:12, , 3F
從沒想過這問題,google一下好像只有一些hack的解法
12/19 00:12, 3F

12/19 00:12, , 4F
就如樓上所說了,或者是用alias_method之類的方式
12/19 00:12, 4F

12/19 00:15, , 5F
method swizzling
12/19 00:15, 5F

12/19 00:29, , 6F
感謝 m(_ _)m
12/19 00:29, 6F

12/19 00:29, , 7F
主要還是因為在其他語言有看過這東東,在學的時候就會想,
12/19 00:29, 7F

12/19 00:30, , 8F
在Ruby上是怎麼處理
12/19 00:30, 8F

12/19 14:02, , 9F
文章代碼(AID): #1IiSO8Og (Ruby)
文章代碼(AID): #1IiSO8Og (Ruby)