4
Ruby有method_missing
,Python有getattr
。 Boo提供了一些我可以用來攔截方法調用的東西嗎?如何攔截Boo中的方法調用?
Ruby有method_missing
,Python有getattr
。 Boo提供了一些我可以用來攔截方法調用的東西嗎?如何攔截Boo中的方法調用?
是的,Boo有IQuackFu。
基本上,您實現IQuackFu
,其中有三個方法:
QuackGet
:當你得到一個屬性值QuackSet
被調用,當你設置一個屬性值QuackInvoke
被稱爲:被稱爲當您調用方法這是an example。
一個小問題:Boo能攔截其他對象的方法調用嗎?有點像Groovy與元類一樣。我想答案是否定的,因爲它是靜態類型的,但我想確定。 – Geo 2009-07-18 16:07:58