[ << Tutorial de l’Scheme ] | [Top][Contents][Index] | [ Interfícies per a programadors >> ] |
[ < Parelles ] | [ Up: Tipus de dades compostes de l’Scheme ] | [ Llistes associatives (listas-A) > ] |
Llistes
Una estructura de dades molt comuna a l’Scheme és la
llista. Formalment, una llista ‘ben feta’ es defineix com
la llista buida, representada com a '()
i amb longitud
zero, o bé com una parella el cdr
de la qual és al seu cop
una llista més curta.
Hi ha moltes formes de crear llistes. Potser la més comuna és amb
el procediment list
:
guile> (list 1 2 3 "abc" 17.5) (1 2 3 "abc" 17.5)
La representació d’una llista com a elements individuals separats per espais i envoltada entre parèntesis és realment una forma compacta de les parelles amb punt que constitueixen la llista, on el punt i immediatament un parèntesis d’obertura se suprimeixen junt al parèntesis de tancament corresponent. Sensa aquesta compactació, la sortida hauria estat
(1 . (2 . (3 . ("abc" . (17.5 . ())))))
De la mateixa manera que com la sortida, una llista pot escriure’s (després d’haver afegit un apòstrof per evitar la seva interpretació com una crida de funció) com una llista literal envoltant els seus elements entre parèntesis:
guile> '(17 23 "pep" "pepet" "pepepet") (17 23 "pep" "pepet" "pepepet")
Les llistes són una part fonamental de l’Scheme. De fet, l’Scheme es considera un dialecte del Lisp, on ‘lisp’ és una abreviatura de ‘List Processing’ (procés de llistes). Totes les expresssions de l’Scheme són llistes.
[ << Tutorial de l’Scheme ] | [Top][Contents][Index] | [ Interfícies per a programadors >> ] |
[ < Parelles ] | [ Up: Tipus de dades compostes de l’Scheme ] | [ Llistes associatives (listas-A) > ] |