Soy nuevo en Clojure y estoy atascado en cómo 'expandir' los argumentos opcionales de una función para que puedan enviarse a otra función que use argumentos opcionales (pero los quiere args como palabras clave, no como una secuencia de palabras clave).Clojure: Pase args opcionales 'expandidos' a la función
Estoy análisis de XML y si los valores de código I duras como a mi función trabaja, camina el xml y encuentra el valor de 'título':
; zd was required like this
[clojure.data.zip.xml :as zd]
; ...
(defn get-node-value [parsed-xml & node-path]
(zd/xml-> (zip/xml-zip parsed-xml) :item :title zd/text))
(get-node-value parsed-xml)
Lo que quiero hacer es usar el nodo ' -path' para pasar en cualquier número de palabras clave, pero cuando se escribe como debajo de ella entra como una secuencia de palabras clave de modo que se produce una excepción:
(defn get-node-value [parsed-xml & node-path]
(zd/xml-> (zip/xml-zip parsed-xml) node-path zd/text))
(get-node-value parsed-xml :item :title)
; ClassCastException clojure.lang.ArraySeq cannot be cast to clojure.lang.IFn clojure.data.zip/fixup-apply (zip.clj:73)
gracias!