Pharo/Squeak - 如何快速浏览给定类中给定方法的实现?
问题描述:
比方说,我想看看如何在Dictionary类中实现“复制”。目前我使用系统浏览器并手动遍历继承层次结构(自下而上),直到找到实现给定消息的类。是否有工作空间的单行程序,可以在正确的位置打开系统浏览器?Pharo/Squeak - 如何快速浏览给定类中给定方法的实现?
答
(SomeClass whichClassIncludesSelector: #initialize) browse
这将浏览实现消息#initialize的类。
答
(SomeClass的>>#someSelector)浏览
作品以及我的菲罗图像。
适用于我的Pharo图像。 既然你想先找到一个类,你可以用前面的例子结合起来..
((SomeSubclass whichClassIncludesSelector:#someSelector)>>#someSelector)浏览
直接去给定的方法。
答
就我个人而言,我只需在工作区中键入#selector,将其突出显示,然后按alt + m来提取消息的所有实现者。比键入所有代码要快得多。
答
如果您正在使用OmniBrowser,您可以使用上下文菜单实现者的层次...只浏览一个选择的实现者在Dictionary
的层次结构。
OmniBrowser还提供了一个继承浏览器。选择#copy
的任何实现并单击工具栏中的Inheritance
按钮。它将向您展示#copy
的所有实现者的分层视图。