2015-12-02 148 views
0

比方說,我在groovy中有一些名爲obj的對象。是否有一個默認的方法或屬性,我可以調用obj將返回給我回該對象?例如:Groovy - 有沒有辦法讓對象返回自己?

def obj = new Whatever() 
assert obj == obj.self 

語境: 我內詹金斯定義的ClosureScript類的上下文中執行腳本。這是允許委派類型工作流的Script類的擴展。不幸的是,它只是將getProperty()和invokeMethod()調用轉發給委託,它並不直接引用委託對象本身。所以一個自引用的屬性/方法可以讓我得到那個引用。

回答

0

所以我最終找到一種方法來做到這一點。在默認的groovy方法中,有幾種方法可以有效地變爲空操作。例如:

assert obj == obj.find() 
assert obj == obj.each{it} 

都會通過。

不幸的是,這實際上並沒有解決我原來的問題。在我使用的Script類中,委派策略最終在代理之前首先在腳本上調用默認方法。但是,當我問到這個問題時,它的確回答了這個問題,所以我會關閉它並繼續前進。

相關問題