【发布时间】:2010-07-26 08:31:38
【问题描述】:
在 Squeak 中向对象发送消息时,运行时调用算法类似于
- curr
- 在 curr 不为零时重复
- 在该类的方法中搜索选择器;如果存在,调用它并返回
- curr
- 致电
doesNotUnderstand:self
现在,respondsTo: 方法使用了一个非常相似的算法,确实可以通过检查respondsTo: 的代码看到它。 我要查找的是用于调用的上述算法的代码位置。
我知道 perform: 做了类似的事情,但我相信它不用于常规方法调用,而仅用作类似反射的方法调用机制(例如,当程序员直到运行时才知道方法名称时)。
如果上面的代码也被隐藏为原始指令,我在哪里可以找到原始调用?如果不是,我在哪里可以找到代码本身?
【问题讨论】:
标签: reflection smalltalk squeak