(defn foo [n]
(if (== 1 n)
true
)
false
)
(if (true? (foo 1))
(println "true")
)
(if (false? (foo 1))
(println "false")
)
Cela renvoie toujours faux, je suppose que dans clojure il ne retourne que la dernière chose que j'écris dans la fonction. Comment puis-je casser une boucle et retourner quelque chose quand la condition if est remplie?Clojure: la fonction ne retournera pas à droite
Déplacer paren après true à false: '(if (== 1 n) true false)'. Nous vous recommandons également d'obtenir un éditeur avec un support de mise en forme, c'est vraiment difficile à lire (ce qui peut expliquer pourquoi vous n'avez pas remarqué le problème vous-même). –
Regardez dans IntelliJ + Cursive. Comme mentionné ci-dessus, il s'agit d'un problème de contreventement, et tout formatage de code aurait rendu cela évident. En outre, il n'y a pas de boucles ici. – Carcigenicate
Notez également que foo est équivalent à '(partial = 1)'. –