Eu tenho dois vetores [apple orange]
e [5 10]
. Como faço para construir uma lista de associações a ((apple 5) (orange 10))
partir deles?
Eu tenho dois vetores [apple orange]
e [5 10]
. Como faço para construir uma lista de associações a ((apple 5) (orange 10))
partir deles?
Respostas:
Você pode usar cl-pairlis
:
(require 'cl-lib)
(cl-pairlis '(apple orange) '(5 10))
;; =>
;; ((apple . 5) (orange . 10))
Também funciona para vetores:
(cl-pairlis [apple orange] [5 10])
;; =>
;; ((apple . 5) (orange . 10))
(A cl
biblioteca define o alias mais curto pairlis
para cl-pairlis
, mas isso é preterido nas versões mais recentes do Emacs.)
(cl-mapcar #'cons [apple orange] [5 10])
=> ((apple . 5) (orange . 10))
(cl-mapcar #'list [apple orange] [5 10])
=> ((apple 5) (orange 10))
O de Emacs cl-mapcar
toma como argumentos uma função da aridade, uma ou mais e o mesmo número de seqüências que sua aridade. O Lisp comum mapcar
é semelhante, mas as únicas sequências que ele aceita são listas.