Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Smalltalk中使用符号的“最佳实践”是什么?_Smalltalk_Squeak_Pharo_Visualworks - Fatal编程技术网

Smalltalk中使用符号的“最佳实践”是什么?

Smalltalk中使用符号的“最佳实践”是什么?,smalltalk,squeak,pharo,visualworks,Smalltalk,Squeak,Pharo,Visualworks,以便携方式在Smalltalk中使用符号的最佳实践规则是什么?我主要使用squeak和pharo,我知道它们都允许'foo'=foo和foo='foo'为真,而其他Smalltalk则不允许。我知道符号是用来识别的,不应该用它来代替字符串。但是,假设一个符号对象是一个集合,可以像copyWith:或do:这样发送消息,或者您必须首先将其转换为某种集合,这至少安全吗 任何建议都将不胜感激。我们在Seaside遵循的规则是不要将符号和字符串混用。这样你就避免了问题。并非在所有平台上,符号都是字符串的

以便携方式在Smalltalk中使用符号的最佳实践规则是什么?我主要使用squeak和pharo,我知道它们都允许'foo'=foo和foo='foo'为真,而其他Smalltalk则不允许。我知道符号是用来识别的,不应该用它来代替字符串。但是,假设一个符号对象是一个集合,可以像copyWith:或do:这样发送消息,或者您必须首先将其转换为某种集合,这至少安全吗


任何建议都将不胜感激。

我们在Seaside遵循的规则是不要将符号和字符串混用。这样你就避免了问题。并非在所有平台上,符号都是字符串的子类,因此必须小心使用copyWith:或do:


我使用符号只是作为一种便宜的代币,与其他符号相比。我不会用符号来做其他任何事情。

谢谢卢卡斯的回答。还要感谢法罗、马格里特、皮尔、海滨以及你们所做的所有其他伟大的工作。