2010-02-24 27 views
2

Quelles sont les règles de "meilleure pratique" pour l'utilisation de symboles dans Smalltalk de manière portable? J'utilise squeak et pharo principalement et je sais que tous les deux permettent 'foo' = #foo et #foo = 'foo' d'être vrai alors que les autres Smalltalks ne le font pas. Je comprends Les symboles sont à des fins d'identification et ne devraient pas être utilisés à la place des cordes. Mais est-il au moins sûr de supposer qu'un objet de symbole est une collection qui peut être envoyée des messages comme copyWith: ou do :, ou devez-vous convertir une sorte de collection en premier?Quelle est la façon la plus pratique d'utiliser Symbol dans Smalltalk?

Tout conseil serait apprécié.

Répondre

5

La règle que nous suivons avec Seaside n'est pas de mélanger des symboles et des chaînes. Comme ça, vous évitez le problème. Pas sur toutes les plateformes un symbole est une sous-classe de String, donc vous devez faire attention aveC#copyWith: ou #do :. Je n'utilise des symboles que comme un jeton bon marché que vous comparez avec d'autres symboles. Je n'utiliserais pas de symboles pour autre chose.

+1

Merci Lukas pour votre réponse. Et merci aussi pour Pharo, Magritte, Pier, Seaside et tout le beau travail que vous faites. – julio