调用“self class”有两个主要原因:用于执行用户空间事务,例如调用静态方法,创建新对象或获取常量。或者反思一个人的自我。我很想知道它们每次发生的频率。
查询当前加载的Pharo代码库的最佳方法是什么?是否有内置工具or should I use SOUL?
答案 0 :(得分:3)
打开浏览器,转到对象,选择#class并点击“发件人”将显示#class的所有发件人。但这并不适合回答“每个人经常出现的频率”。
以更易于操作的形式获取相同呼叫网站的方法是Object allCallsOn: #class
,它提供了一组发件人。也许运行一些#select:调用来查找一些数字?
或者使用重构浏览器:它有像FinderTool这样的东西来根据AST结构进行搜索。
编辑:正如mathk指出的那样,由于特殊消息或内联消息,有时发件人将无法工作。在该主题的vm-dev列表中有一个有趣的discussion。
答案 1 :(得分:2)
内置工具可帮助您内省系统中的任何类/对象:系统浏览器,检查器和对象资源管理器。请参阅Squeak by Example中的“在吱吱声中发展”一章。您在那里找到的信息与Pharo有关。
答案 2 :(得分:2)
在smalltalk中没有静态方法这样的东西。如果你不明白你不明白哪个班级。