У меня есть простая, но разочаровывающая проблема в Clojure, у меня есть функция (назовем ее функцией чтения), которая определяет, что пользователь хочет делать с его ввода, а затем вызывает другую функцию, которая делает это (назовем его action-function). Эта функция-действие вызывает функцию чтения, когда это делается, чтобы пользователь мог выполнить другую задачу.Порядок кода в Clojure
Теперь моя проблема в том, что если я поместил код для функции чтения перед кодом для функции действия, я получаю сообщение об ошибке в функции чтения, говорящей, что он не знает, какая функция действия (потому что код потому что это еще хуже), и если я сделаю противоположное, хорошо, я получаю аналогичную ошибку, очевидно, что функция чтения не может быть разрешена и т. д.
Есть ли простой способ исправить это?
Фактический код:
(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))))))
)
как это, я получаю сообщение об ошибке на (readCmd Ботин) линии в функции ajout говоря: Невозможно разрешить символ: readCmd в этом контексте
Если Я поставил код для этих двух функций в обратном порядке, я получаю сообщение об ошибке, говоря: Невозможно разрешить символ: ajout в этом контексте
Не могли бы вы опубликовать простой пример кода, что не работает. Это поможет устранить проблему. – seth
Конечно ---- Код Start ---- (defn добавить [книга] (DEF бронирование в-функции книги) (readCmd книга-в-функции) ) (defn readCmd [книга] (println "Enter cmd") (def book-in-function book) (let [cmd (read-line)] (if (.equals cmd "add") ((println "Adding") (добавить книга-в-функции)) (Println "Не знаю")) ) ) --- Код End --- Если я кладу это так, я получаю Не удается разрешить символ : readCmd в этом контексте в строке вызова read-cmd в функции добавления Если я поместил две функции в обратном порядке, я получаю аналогичную ошибку, но для функции add в функции read-cmd – JoOb
У меня есть отредактировал исходное сообщение, посмотрев, как выглядел комментарий :) – JoOb