[ << Tutoriel Scheme ] | [Top][Contents][Index] | [ Interfaces pour programmeurs >> ] |
[ < Paires ] | [ Up : Types de données Scheme composites ] | [ Listes associatives (alists) > ] |
Listes
Autre structure de donnée commune en Scheme : la liste (list).
Une liste « correcte » se définit comme étant vide (représentée par
'()
et de longueur 0) ou une paire dont le cdr
est une
liste.
Il existe plusieurs méthodes pour créer une liste, la plus courante
étant l’utilisation de la procédure list
:
guile> (list 1 2 3 "abc" 17.5) (1 2 3 "abc" 17.5)
La représentation d’une liste par la succession de ses éléments, séparés par des espaces, bornée par des parenthèses, n’est en fait qu’une vue compacte des paires qui la constituent. Les paires sont ainsi dépourvues du point de séparation et de la parenthèse ouvrante qui le suit et des parenthèses fermantes. Sans ce « compactage », cette liste serait ainsi présentée :
(1 . (2 . (3 . ("abc" . (17.5 . ())))))
Vous pouvez donc saisir une liste comme elle serait présentée, en entourant ses éléments par des parenthèses à la suite d’une apostrophe (afin que ce qui suit ne soit pas interprété comme un appel à une fonction) :
guile> '(17 23 "foo" "bar" "bazzle") (17 23 "foo" "bar" "bazzle")
Les listes ont une importance considérable en Scheme. Certains vont d’ailleurs jusqu’à considérer Scheme comme un dialecte du lisp, où « lisp » serait une abréviation de « List Processing ». Il est vrai que toute expression Scheme est une liste.
[ << Tutoriel Scheme ] | [Top][Contents][Index] | [ Interfaces pour programmeurs >> ] |
[ < Paires ] | [ Up : Types de données Scheme composites ] | [ Listes associatives (alists) > ] |