2011-04-15 24 views
0

有沒有簡單的方法來查找引用的父元素引用?rb-appscript:訪問父引用?

例如,假設我有以下參考:

ref = app("System Events").processes["Safari"].windows[1].buttons[1] 

我願做類似下面的東西:

ref.parent # => app("System Events").processes["Safari"].windows[1].buttons 

甚至:

ref.parent # => app("System Events").processes["Safari"].windows[1] 

我已經查閱了文檔和指南,並沒有取得成功。我還嘗試了一個很大的禁忌,通過修補Appscript :: Reference類並添加我自己的方法,但它開始以難以排除故障的方式破壞我的規範。我也考慮過使用eval,但這似乎是一個糟糕的主意。有什麼想法嗎?

回答

0

了一下下巴劃傷的,我想我可能有一個解決辦法後:

ref = app("System Events").processes["Safari"].windows[1].buttons[1] 
ref.attributes[its.name.eq("AXParent")].value.get 

返回

[app("/System/Library/CoreServices/System Events.app").application_processes["Safari"].windows["rb-appscript: Accessing parent reference? - Stack Overflow"]] 

是那個樣的事情?

Ian