60 votes

Qu'est-ce qu'un symbole exactement dans lisp/scheme ?

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.

11voto

LazyCubicleMonkey Points 1183

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.

4voto

Tom Points 1297

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).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X