在Smalltalk中使用Symbol的“最佳实践”便携方法是什么?

时间:2010-02-24 22:17:29

标签: smalltalk squeak pharo visualworks

以便携方式在Smalltalk中使用符号的“最佳做法”规则是什么?我主要使用squeak和pharo,我知道他们都允许'foo'= #foo和#foo ='foo'为真,而其他Smalltalks则不然。我理解符号是用于识别的,不应该用来代替字符串。但是,至少可以安全地假设一个符号对象是一个可以发送消息的集合,例如copyWith:或do:,或者你必须先将它转换为某种Collection吗?

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:5)

我们遵循Seaside的规则不是混合符号和字符串。像这样你可以避免这个问题。不是在所有平台上,符号是String的子类,因此您必须小心#copyWith:或#do:。

我只使用符号作为与其他符号比较的便宜令牌。我不会将符号用于其他任何事情。