Ejemplo:

(setq foo '("f" "o" "o"))
(setq bar '("b" "a" "r"))

(setq foobar `(,foo .  ,(list bar))) 
;; Give me a normal list ( ("f" "o" "o")  ("b" "a" "r") ) which is not what I want.

Quiero obtener ( ("f" "o" "o") . ("b" "a" "r") ). ¿Cómo?

0
tom 28 ene. 2016 a las 10:47

2 respuestas

La mejor respuesta

Utilice cons para obtener un par de puntos:

(setq foo '("f" "o" "o"))
(setq bar '("b" "a" "r"))

(cons foo (list bar))
-> (("f" "o" "o") ("b" "a" "r"))
2
Juancho 28 ene. 2016 a las 13:40

Alternativamente,

(setq foobar `(,foo ,bar))
(memq foo foobar)
-> (("f" "o" "o") ("b" "a" "r"))
0
jpkotta 28 ene. 2016 a las 16:45