以便携方式在Smalltalk中使用符号的“最佳做法”规则是什么?我主要使用squeak和pharo,我知道他们都允许'foo'= #foo和#foo ='foo'为真,而其他Smalltalks则不然。我理解符号是用于识别的,不应该用来代替字符串。但是,至少可以安全地假设一个符号对象是一个可以发送消息的集合,例如copyWith:或do:,或者你必须先将它转换为某种Collection吗?
任何建议都将受到赞赏。
答案 0 :(得分:5)
我们遵循Seaside的规则不是混合符号和字符串。像这样你可以避免这个问题。不是在所有平台上,符号是String的子类,因此您必须小心#copyWith:或#do:。
我只使用符号作为与其他符号比较的便宜令牌。我不会将符号用于其他任何事情。