P: ¿cómo puedo convertir una lista de 2 elementos en una cons
celda de par de puntos ?
Puedo convertir una lista de 2 elementos en un par de puntos con:
(let ((list '(1 2)))
(cons (car list) (cadr list))) ; => (1 . 2)
Estoy en blanco: ¿hay una función incorporada que hace esto, o debería rodar la mía?
'(1 2)
, tu salida como'(1 . 2)
y te sugerirá(apply #'cons '(1 2))
!Respuestas:
cons
hace una celda de contra de dos argumentos.apply
usa una lista como argumentos para una función. Cuando sus poderes se combinan:(apply #'cons x)
convierte una lista de dos elementos en una celda de contras (sin tener que hurgar dentro de la lista) y genera un error si la lista no es 2 larga.fuente