Tôi có một vấn đề đơn giản nhưng bực mình trong Clojure, tôi có một hàm (gọi là hàm đọc) để chỉ ra người dùng muốn làm gì từ đầu vào của mình, sau đó gọi một hàm khác thực hiện điều đó (hãy gọi nó là chức năng hành động). Hàm hành động này gọi hàm đọc khi nó được thực hiện để người dùng có thể thực hiện một tác vụ khác.Thứ tự mã trong Clojure
Bây giờ vấn đề của tôi là nếu tôi đặt mã cho hàm đọc trước mã cho hàm hành động, tôi gặp lỗi trong hàm đọc nói rằng nó không biết hàm hành động là gì (vì mã cho nó là tiếp tục xuống) và nếu tôi làm ngược lại, tôi cũng nhận được một lỗi tương tự rõ ràng, nói rằng chức năng đọc không thể được giải quyết vv
Có cách nào đơn giản để sửa lỗi này?
Mã thực tế:
(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))))))
)
như thế này, tôi nhận được một lỗi tại (readCmd Botín) dòng trong hàm ajout nói: Không thể giải quyết biểu tượng: readCmd trong bối cảnh này
Nếu Tôi đặt mã cho hai hàm này theo thứ tự ngược lại, tôi sẽ nhận được thông báo lỗi: Không thể giải quyết biểu tượng: ajout trong ngữ cảnh này
Bạn có thể đăng một mẫu mã đơn giản của những gì không được làm việc. Điều đó sẽ giúp theo dõi vấn đề. – seth
Tất nhiên ---- Mã Bắt đầu ---- (defn thêm [sách] (def đặt trong chức năng book) (readCmd cuốn sách-in-function) ) (defn readCmd [sách] (println "Enter cmd") (def book-in-function book) (cho [cmd (đọc)] (nếu (.equals cmd "add") ((println "Adding") (thêm cuốn sách-in chức năng)) (println "Dont know")) ) ) --- Mã End --- Nếu tôi đặt nó như thế này, tôi nhận được Không thể giải quyết biểu tượng : readCmd trong ngữ cảnh này tại dòng lệnh gọi-đọc trong hàm cộng Nếu tôi đặt hai hàm theo thứ tự ngược lại, tôi nhận được lỗi tương tự nhưng đối với hàm cộng trong hàm read-cmd – JoOb
tôi có đã chỉnh sửa bài đăng gốc sau khi xem nhận xét như thế nào :) – JoOb