Parejas

El tipo fundacional de datos compuestos de Scheme es la pareja. Como se espera por su nombre, una pareja son dos valores unidos en uno solo. El operador que se usa para formar una pareja se llama cons.

guile> (cons 4 5)
(4 . 5)
guile>

Observe que la pareja se imprime como dos elementos rodeados por paréntesis y separados por un espacio, un punto (.) y otro espacio. El punto no es un punto decimal, sino más bien un indicador de pareja.

Las parejas también se pueden introducir como valores literales precediéndolos de un carácter de comilla simple o apóstrofo.

guile> '(4 . 5)
(4 . 5)
guile>

Los dos elementos de una pareja pueden ser cualquier valor válido de Scheme:

guile> (cons #t #f)
(#t . #f)
guile> '("bla-bla" . 3.1415926535)
("bla-bla" . 3.1415926535)
guile>

Se puede accede al primero y segundo elementos de la pareja mediante los procedimientos de Scheme car y cdr, respectivamente.

guile> (define mipareja (cons 123 "Hola")
… )
guile> (car mipareja)
123
guile> (cdr mipareja)
"Hola"
guile>

Nota: cdr se pronuncia "could-er", según Sussman y Abelson, véase https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-14.html#footnote_Temp_133

Extender LilyPond v2.25.15 (rama de desarrollo).