如何找到对象理解的消息?

时间:2014-06-05 21:16:54

标签: reflection smalltalk pharo

在Pharo中,我知道整数理解消息to:。工作区提供建议:

workspace suggestions

但是如果我从工作区检查一个整数,它就没有提到to:

inspecting integer

搜索SmallInteger不会在系统浏览器中显示任何内容:

system browser

如何发现可以发送给对象的邮件?理想情况下,我也希望看到他们的源代码。

3 个答案:

答案 0 :(得分:5)

重新审视您的问题我注意到,在您的上一个屏幕截图中,您没有搜索 SmallInteger,而是包 strong>名为SmallInteger。此套餐不存在。

但您可能想要搜索班级SmallInteger。这是通过Linux上的键盘快捷键 Cmd-F Cmd-C Alt-F Alt-C 完成的)或在Nautilus系统浏览器的类面板的上下文菜单中选择查找类... 。这使您可以浏览SmallInteger中实现的方法。如果您通过超类工作,可以查看SmallInteger实例理解的所有消息。

enter image description here

答案 1 :(得分:4)

每个班级都了解信息allSelectors allSelectors回答一组接收器实例可以理解的所有消息选择器。这包括接收者的方法字典中的所有消息选择器以及它的超类的方法字典。

所以尝试打印或更好,检查:

1 class allSelectors.

答案 2 :(得分:4)

此外,您只需在任何位置键入类的名称,选择它,然后按下命令+ B(浏览)。这将在所述课程上打开一个浏览器。