Buscar..


Introducción

Un par es uno de los tipos de datos más básicos en el esquema. También se suele llamar células contras.

Crear un par

Se puede crear un par con la función cons . El nombre de la función significa constructor . En Scheme, todo está basado en pares.

(cons a b)

La función devuelve un par que contiene el elemento a y b . El primer parámetro de cons se llama car (Registro de dirección de contenido) y el segundo argumento es el cdr (Registro de disminución de contenido).

Accede al coche de la pareja.

Se puede acceder a los datos en el par con funciones de utilidad. Para acceder al car , tenemos que utilizar la función de car .

(car (cons a b))
> a

También podemos verificar la siguiente igualdad:

(eq? a (car (cons a b)))
> #t

Accede al CDR de la pareja.

Para acceder al cdr, tenemos que usar la función cdr.

(cdr (contras ab))

segundo

También podemos verificar la siguiente igualdad:

(eq? b (cdr (contras ab)))

#t

Crear una lista con pares.

La lista en el esquema no es más que una serie de pares anidados entre sí en el cdr de un cons . Y el último cdr de una lista adecuada es la lista vacía '() .

Para crear la lista (1 2 3 4) , tendríamos algo como esto:

(cons 4 '())
> (4)
(cons 3 (cons 4 '()))
> (3 4)
(cons 2 (cons 3 (cons 4 '())))
> (2 3 4)
(cons 1 (cons 2 (cons 3 (cons 4 '()))))
> (1 2 3 4)

Como puede ver, una lista en el esquema es una lista enlazada hecha de pares. Por esa razón, agregar un objeto al frente de la lista casi no toma tiempo, pero al agregar un elemento al final de la lista, se obliga al intérprete a recorrer toda la lista.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow