[英]Pharo/Squeak - How do I quickly browse the implementation of a given method in a given class?
[英]How do I lookup which class implements a method in Pharo?
新手在這里,通過“Pharo by Example” 。 本書提到了EllipseMorph new openInWorld
一個例子, EllipseMorph new openInWorld
結果調用了Morph openInWorld
,而EllipseMorph defaultColor
是一個被覆蓋的消息:我如何使用系統瀏覽器或其他東西來解決這個問題?
通常的查找方法方法只能在緊接選的類中查找匹配項。 通常可以查找哪個類會響應(比方說) Foo bar
嗎?
更新 :感謝所有建議(Finder,Spotter); 調試器是我遇到過的工具中最令人大開眼界的!
Smalltalk提供了許多可以幫助您解決此問題的工具和瀏覽器。 如果您已經知道消息的名稱,則可以:
在這種情況下,您還可以在游樂場中鍵入EllipseMorph new openInWorld
,然后從菜單中選擇Debug-It 。 這將打開一個調試器,選擇new
。 如果單擊進入 ,則頂行將更改為EllipseMorph class(Behavior) new
。 這表明此處使用了來自Behavior
的new
。 如果繼續到 (2次),步進,你會看到它更改為EllipseMorph(BorderedMorph) initialize
。 只需跟蹤發送的消息跟蹤,您就可以看到所有內容的實現位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.