我正在爲Ruby Gosu庫開發(以及至少嘗試)Game框架。我做了一個基本的事件系統,每個Blocks :: Event都有一個處理程序列表,當事件被觸發時,這些方法被調用。目前,實現事件的方法如下:在方法Defenition之外定義實例變量(ruby)
class TestClass
attr_accessor :on_close
def initialize
@on_close = Blocks::Event.new
end
def close
@on_close.fire(self, Blocks::OnCloseArgs.new)
end
end
但是實現這一事件的方法似乎是相當長的,我的問題是,我怎麼能做出一種方式,這樣,當一個人想在一個類的事件,他們可以做到這一點
class TestClass
event :on_close
def close
@on_close.fire(self, Blocks::OnCloseArgs.new)
end
end
在此先感謝,埃爾。
確實如此。正如我所說,只是一個未經測試的快速拍攝,感謝您指出:-) – 2010-03-28 21:19:31
它似乎工作在一個不需要初始化邏輯的類,這意味着我需要做一個別名,以及對我來說,有點了反紅寶石,投入更多的工作超過必要,所以我只是堅持手動添加它,也許我會找到一種方式,但現在它的直到我們再次見面:) – Ell 2010-03-29 19:24:55