【发布时间】:2014-06-05 21:16:53
【问题描述】:
在 Pharo 中,我知道整数可以理解消息 to:。工作区提供建议:
但如果我从工作区检查一个整数,它并没有提到to::
搜索 SmallInteger 也不会在系统浏览器中显示任何内容:
如何发现我可以向对象发送哪些消息?理想情况下,我也想看看他们的源代码。
【问题讨论】:
标签: reflection smalltalk pharo
在 Pharo 中,我知道整数可以理解消息 to:。工作区提供建议:
但如果我从工作区检查一个整数,它并没有提到to::
搜索 SmallInteger 也不会在系统浏览器中显示任何内容:
如何发现我可以向对象发送哪些消息?理想情况下,我也想看看他们的源代码。
【问题讨论】:
标签: reflection smalltalk pharo
重新审视您的问题,我注意到,在您的上一个屏幕截图中,您没有搜索 class SmallInteger,而是搜索 package命名为SmallInteger。这个包不存在。
但您可能想搜索类SmallInteger。这是通过键盘快捷键 Cmd-F Cmd-C (在 Linux 上是 Alt-F Alt-C ) 或通过在 Nautilus 系统浏览器的类面板的上下文菜单中选择 Find Class...。这使您可以浏览在 SmallInteger 中实现的方法。如果您逐步了解超类,您可以查看SmallInteger 实例所理解的所有消息。
【讨论】:
每个类都理解消息allSelectors。allSelectors 回答一组接收者实例可以理解的所有消息选择器。这包括接收者的方法字典和它的超类的方法字典中的所有消息选择器。
所以尝试打印或更好,检查:
1 class allSelectors.
【讨论】:
此外,您可以在任意位置键入课程名称,选择它,然后按 command+B(浏览)。这将在该类上打开一个浏览器。
【讨论】: