[ << Tutorial de Scheme ] | [Top][Contents][Index] | [ Interfaces para programadores >> ] |
[ < Parejas ] | [ Up : Tipos de datos compuestos de Scheme ] | [ Listas asociativas (listas-A) > ] |
Listas
Una estructura de datos muy común en Scheme es la
lista. Formalmente, una lista ‘bien hecha’ se define como
la lista vacía, representada como '()
y con longitud cero,
o bien como una pareja cuyo cdr
es a su vez una lista más
corta.
Existen muchas formas de crear listas. Quizá la más común es con
el procedimiento list
:
guile> (list 1 2 3 "abc" 17.5) (1 2 3 "abc" 17.5)
La representación de una lista como elementos individuales separados por espacios y encerrada entre paréntesis es realmente una forma compacta de las parejas con punto que constituyen la lista, donde el punto e inmediatamente un paréntesis de apertura se suprimen junto al paréntesis de cierre correspondiente. Sin esta compactación, la salida habría sido
(1 . (2 . (3 . ("abc" . (17.5 . ())))))
De igual forma que con la salida, una lista puede escribirse (después de haber añadido un apóstrofo para evitar su interpretación como una llamada de función) como una lista literal encerrando sus elementos entre paréntesis:
guile> '(17 23 "fulano" "mengano" "zutano") (17 23 "fulano" "mengano" "zutano")
Las listas son una parte fundamental de Scheme. De hecho, Scheme se considera un dialecto de Lisp, donde ‘lisp’ es una abreviatura de ‘List Processing’ (proceso de listas). Todas las expresiones de Scheme son listas.
[ << Tutorial de Scheme ] | [Top][Contents][Index] | [ Interfaces para programadores >> ] |
[ < Parejas ] | [ Up : Tipos de datos compuestos de Scheme ] | [ Listas asociativas (listas-A) > ] |