Tengo un problema simple pero frustrante en Clojure, tengo una función (llamémosla función de lectura) que determina lo que el usuario quiere hacer desde su entrada y luego llama a otra función que hace eso (llamémoslo acción-función). Esta función de acción llama a la función de lectura cuando está lista para que el usuario pueda realizar otra tarea.Orden del código en Clojure
Ahora mi problema es que si pongo el código para la función de lectura antes del código de acción-función, aparece un error en la función de lectura que dice que no sabe qué función-acción es (porque el código porque está más abajo) y si hago lo contrario, bueno, obviamente recibo un error similar, diciendo que la función de lectura no se puede resolver, etc.
¿Hay una manera simple de solucionar esto?
El código real:
(defn ajout [botin]
(def botin botin)
(readCmd botin)
)
(defn readCmd [botin]
(println "Entrez une commande svp ")
(def botin botin)
(let [cmd (read-line)]
(if (.equals cmd "a") ((println "Ajout 8o") (ajout botin))
(if (.equals cmd "e") ((println "Elim 8o") (eliminer botin))
(if (.equals cmd "i") ((println "Imprim 8o") (imprimer botin))
((println "Commande invalide, nous vous rapellons que les commandes possibles sont : ") (print-les-cmd) (readCmd))))))
)
como este, me sale un error en el (readCmd botin) línea en la función ajout diciendo: No se puede resolver símbolo: readCmd en este contexto
Si Pongo el código para estas dos funciones en orden inverso Obtendré un error diciendo: No se puede resolver el símbolo: ajout en este contexto
Podría publicar un ejemplo de código sencillo de lo que no funciona. Eso ayudaría a rastrear el problema. – seth
Por supuesto ---- ---- Código de inicio (defn añadir [libro] (def reservar-en-libro función) (readCmd libro-en-función) ) (defn readCmd [libro] (println "Enter cmd") (def reservar-en-libro función) (dejar que [cmd (leer línea)] (si (.equals cMD "añadir") ((println "Adición") (añada libro-en-función)) (println "No saber")) ) ) --- --- Código final Si lo pongo de esta manera, consigo No se puede resolver símbolo : readCmd en este contexto en la línea de la llamada read-cmd en la función add Si pongo las dos funciones en el orden inverso obtengo un error similar pero para la función add en la función read-cmd – JoOb
tengo editó la publicación original después de ver cómo se veía el comentario :) – JoOb