Uko*_*Uko 1 null smalltalk pharo method-missing
我想重新定义smalltalk的nil,就像在objective-c中那样工作.因此,当nil收到无法处理的消息时,它返回nil.现在我知道这nil只是一个快捷方式,UndefinedObject但有没有像Ruby这样的东西method_missing,所以我可以重新定义它以便总是返回nil?UndefinedObject
Luk*_*gli 11
您正在寻找的方法doesNotUnderstand:在Smalltalk中调用.你确实可以实现:
UndefinedObject>>doesNotUnderstand: aMessage
^ nil
Run Code Online (Sandbox Code Playgroud)
但是,请记住,这会影响整个系统,并可能产生微妙的副作用或在系统的其他部分引入错误.
另请注意,UndefinedObject它不是原始类型,而是继承自的普通类Object.因此,nil已经了解了大量消息,并且可能不像您期望的那样来自Objective-C.
| 归档时间: |
|
| 查看次数: |
1171 次 |
| 最近记录: |