smalltalk - "self class"如何使用?/Pharo图像如何查询?

标签 smalltalk pharo

调用“self class”有两个主要原因:要么是为了做用户空间的事情,比如调用静态方法、创建新对象或获取常量。或者是为了反射(reflection)自己。我很想知道它们发生的频率。

查询当前加载的 Pharo 代码库的最佳方式是什么?是否有内置工具,or should I use SOUL?

最佳答案

打开浏览器,转到对象,选择#class 并点击“发件人”将显示#class 的所有发件人。不过,这对于回答“它们各自发生的频率”并不是很好。

以更易于操作的形式获取相同调用站点的方法是使用 Object allCallsOn: #class,它提供了一组发送者。也许运行一些#select: 调用来找出一些数字?

或者使用 Refactoring Browser:它有类似 FinderTool 的东西可以基于 AST 结构进行搜索。

编辑:正如 mathk 指出的那样,有时 senders-of 不会工作,因为特殊消息或内联消息。有一个有趣的 discussion在有关该主题的 vm-dev 列表上。

关于smalltalk - "self class"如何使用?/Pharo图像如何查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3804322/

相关文章:

smalltalk - 对于 Traits,我应该使用 T 前缀吗?如果是,请将其放在任何其他前缀之前还是之后?

java - Java中存在Smalltalk的Detect方法吗?

objective-c - Objective-c 中的 Smalltalk block ?

smalltalk - 如何在 Dolphin Smalltalk 中创建 SUnit 测试?

smalltalk - 在Squeak/Pharo中浏览VisualWorks代码

smalltalk - 容器时如何重新缩放 subMorph?

multithreading - 什么是特定于流程的变量?

inheritance - 如何确定一个方法是否定义在 Smalltalk 对象的祖先类中

loops - 集合中的元素在打印时被截断 - Smalltalk

pharo - 在 Pharo 中加载给定日期的包版本