J'ai commencé à apprendre Scheme, pour le plaisir surtout, et parce que je n'ai jamais utilisé un langage fonctionnel auparavant. J'ai choisi Scheme parce que je voulais lire SICP depuis longtemps.Pourquoi l'utilisation par contre pour créer une paire de deux listes produit-elle une liste et deux éléments?
Quoi qu'il en soit, je suis actuellement en train d'en apprendre davantage sur les listes, et avant cela, j'ai appris sur les inconvénients, la voiture et cdr. Et il y a un exemple qui crée une liste de listes avec le contre, comme ceci:
(cons (list 1 2) (list 3 4))
La liste résultante est ((1 2) 3 4), qui n'a pas de sens pour moi, je me attends ((1 2) (3 4)) pour être le résultat (une liste composée de deux listes). Pourquoi se comporte-t-il comme ça? Je me rends compte que si je devais utiliser la voiture, j'obtiendrais (1 2), et cdr j'obtiendrais (3 4) becaue cdr retourne toujours "le reste", mais je ne comprends pas pourquoi la liste n'est pas faite de deux listes?
Cette question est légèrement différente, mais les réponses répondent précisément à votre question: http://stackoverflow.com/questions/2921912/in-sicp-exercise-2-26-using-drscheme-why-does-cons-return -a-liste-au lieu-de-ap –
pourquoi feriez-vous une liste avec CONS lorsque vous avez fait une liste avec LIST? Pourquoi ne pas s'en tenir à utiliser LIST pour faire des listes? CONS ne fait pas la même chose que LIST - c'est aussi pourquoi ils sont différentes fonctions. –
C'était un exercice de SICP – fingerprint211b