En clojure 1.2RC1, deseo obtener una función basada en su nombre como cadena y evaluarla.Función resolviendo clojure desde el nombre de cadena
Definición de la función
(ns my-ns)
(defn mycar [x] (first x))
La siguiente trabajaron:
((ns-resolve *ns* (symbol "mycar")) '(3 4))
((intern *ns* (symbol "mycar")) '(3 4))
((eval (symbol "mycar")) '(3 4))
pero parece feo. ¿Hay una mejor manera? Si no, ¿cuál de los anteriores es el más idiomático?
En segundo lugar el uso de 'resolver' o' ns-resolve'. También presta mucha atención cuando uses 'intern'. Es bastante malograr cosas usándolo. – kotarak
¿Alguna sugerencia para obtener más información sobre "paliza" causada por pasante? – chris
Establezca un Var con pasante y sus metadatos originales en el Var desaparecerán.Ignorar. Parece ser arreglado. Al menos no puedo reproducirlo más. – kotarak