¿Hay alguna forma de asignar los valores de una lista a una lista de símbolos en Common Lisp similar a la manera en que puede asignar los valores de tuple a variables en Python?Desempaquetado Tuple Similar a Python, pero en Common Lisp
x, y, z = (1, 2, 3)
Algo así como
(setq '(n p) '(1 2))
Dónde n
y p
son ahora igual a 1
y 2
, respectivamente. Lo anterior era solo como lo estaba pensando en mi cabeza, pero no funciona. Intenté usar aplica de la siguiente manera:
(apply setq '('(n p) '(1 2)))
Soy nuevo en Lisp, así que si esto es algo que es claramente evidente, trate de no ser demasiado duro y por favor me punto en la dirección correcta! Gracias.
PD: He visto la publicación sobre cómo hacer esto en Scheme y una similar sobre la expansión de tuplas en Common Lisp, pero esas no fueron muy útiles al responder mi pregunta 1) porque no estoy usando Scheme, y 2) porque la respuesta mejor clasificada fue solo la palabra apply
.
Para intercambiar y girar, hay 'rotatef':' (rotatef n p) ',' (rotatef x y z) '. – Svante