【发布时间】:2010-01-08 14:33:39
【问题描述】:
有没有一种实用的方法可以在 Smalltalk 中获取消息的发件人无需手动将 self 作为参数传递?
更具体地说:我想为传递给我的班级的 ID 添加一个班级特定的前缀,所以如果 ClassA 发送(在班级方面)
ClassB doSomethingWith: 'myId'.
ClassB 应在内部将 'myId' 视为 'ClassB-myId' 或类似的东西。
我已经用一个额外的参数实现了这个,它必须是 self
ClassB doSomethingWith: 'myId' for: self.
但如果有一个解决方案没有这个明确的自我发送,我会很高兴。
【问题讨论】:
-
我不明白你想要什么; ClassB 知道它的名称,因此它可以将其添加到符号前……
-
ClassA 不必关心 classB 使用每个类的命名空间。