Pour l'amour du tout-puissant, je n'ai pas encore compris le but du symbole 'iamasymbol
. Je comprends les nombres, les booléens, les chaînes... les variables. Mais les symboles sont tout simplement trop pour mon petit esprit de pensée impérative à prendre. A quoi je les utilise exactement ? Comment sont-ils censés être utilisés dans un programme ? Ma compréhension de ce concept est juste un échec.
Réponses
Trop de publicités?Les symboles en lisp sont des identifiants lisibles par l'homme. Ce sont tous des singletons. Donc, si vous déclarez 'foo quelque part dans votre code, puis réutilisez 'foo, il pointera vers le même endroit en mémoire.
Exemple d'utilisation : différents symboles peuvent représenter différentes pièces sur un échiquier.
Un symbole est juste un nom spécial pour une valeur. La valeur peut être n'importe quoi, mais le symbole est utilisé pour faire référence à la même valeur à chaque fois, et ce genre de chose est utilisé pour des comparaisons rapides. Comme vous dites que vous pensez à l'impératif, ils sont comme des constantes numériques en C, et c'est ainsi qu'ils sont généralement implémentés (nombres stockés en interne).