【问题标题】:Pharo/Squeak - How do I quickly browse the implementation of a given method in a given class?Pharo/Squeak - 如何快速浏览给定类中给定方法的实现?
【发布时间】:2012-02-29 00:00:36
【问题描述】:

假设我想看看“复制”是如何在 Dictionary 类中实现的。目前我使用系统浏览器并手动遍历继承层次结构(自下而上),直到找到实现给定消息的类。是否有一个用于工作区的单行代码,可以在正确的位置打开系统浏览器?

【问题讨论】:

    标签: ide smalltalk squeak pharo class-hierarchy


    【解决方案1】:
    ( SomeClass whichClassIncludesSelector: #initialize ) browse
    

    这将浏览实现消息#initialize 的类。

    【讨论】:

      【解决方案2】:

      就我个人而言,我只需在工作区中键入#selector,突出显示它,然后按 alt+m 即可调出消息的所有实现者。比输入所有代码要快得多。

      【讨论】:

        【解决方案3】:

        (SomeClass>>#someSelector) 浏览

        在我的 Pharo 图像中也可以使用。

        在我的 Pharo 图像中也可以使用。 既然你想先找到一个类,你可以把它和前面的例子结合起来..

        ((SomeSubclass whichClassIncludesSelector: #someSelector)>>#someSelector) 浏览

        直接转到给定的方法。

        【讨论】:

          【解决方案4】:

          如果您使用的是 OmniBrowser,则可以使用上下文菜单Implementors in Hierarchy... 仅浏览 Dictionary 的层次结构中选择器的实现者。

          OmniBrowser 还提供了一个继承浏览器。选择#copy 的任何实现,然后单击工具栏中的Inheritance 按钮。它将向您展示#copy 的所有实现者的分层视图。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-03-17
            • 1970-01-01
            • 2012-11-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多