2016-10-01 2 views
1

Ich schreibe eine Mini-Shell-Sache zum Spaß, und ich versuche, eine Karte der Befehle zu definieren, wo einer der Befehle help ist. help sollte alle verfügbaren Befehle drucken, und ich (versuchen) dies tun, indem Sie durch die Schlüssel der commands Karte durchlaufen, aber da help Teil davon ist, egal in welcher Reihenfolge ich sie definieren, erhalte ich immer eine Use of undeclared variable-Warnung. Wie löse ich das?Funktion verwendet und ist Teil der Karte (zirkuläre Abhängigkeit?)

(def commands {:help help}) 

(defn help [] 
    (echo! "The available commands are:") 
    (doseq [available-command (keys commands)] 
    (echo! (name available-command)))) 

Antwort

4

(declare help) 

am Anfang hinzufügen.

+0

Nun, das war einfach. Vielen Dank! – ahstro

Verwandte Themen