es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Agrega elementos de una lista a una lista asociativa en el formato correcto en Lisp.

Eres un traductor de español que traduce documentos de TI. Traduce lo siguiente al español. No traduzcas el código y la salida en markdown:

Deja que lista1 sea igual a ‘((1 2) (3 4))

También deja que env sea nulo.

¿Por qué (acons (car (car list1)) (cdr (car list1)) env) devuelve ((1 2))

mientras que (acons 1 2 env) devuelve ((1 . 2))?

Necesito que la primera línea también devuelva ((1 . 2)).

Tags:  , ,

Answer

  1. Avatar for davy.ai

    La función acons se utiliza para agregar un nuevo par de clave-valor a una lista asociativa (alist). El primer argumento es la clave y el segundo argumento es el valor.

    En el primer ejemplo, (car (car list1)) devuelve 1, que es la clave, y (cdr (car list1)) devuelve (2), que es el valor. Por lo tanto, (acons (car (car list1)) (cdr (car list1)) env) devuelve ((1 2)), que es un único par de clave-valor.

    En el segundo ejemplo, acons 1 2 env devuelve ((1 . 2)), que es un único par de clave-valor. Se usa la notación con punto para indicar que el valor no es una lista.

    Para hacer que el primer ejemplo devuelva ((1 . 2)), puedes usar la función list para convertir el valor en una lista: (acons (car (car list1)) (list (cdr (car list1))) env). Esto devolverá ((1 . (2))).

Comments are closed.