J'ai un code comme celui-ci. Je peux lancer ceci dans repl mais je ne peux pas partir de la ligne de commande. Je suppose que j'ai un problème d'évaluation paresseux.Problème d'évaluation paresseux
; items.clj
(def items (ref []))
(defn init-items []
(map
#(dosync
(alter items conj %))
["foo" "bar" "baz" ]))
(init-items)
(println (first @items))
$ java -jar clojure.jar items.clj
$ nil
Cordialement.
je travaillais. Merci beaucoup. – Osman
En fait 'dorun' est mieux adapté à ce cas (' doall' tient sur la tête du seq qu'il enveloppe et le retourne, alors que 'dorun' le rejette pas à pas et retourne finalement' nil' - donc il est mieux adapté à code à effets secondaires). –
@Michal: Vous avez absolument raison, bien sûr. Je me suis un peu amusé avec Clojure mais je n'ai jamais atteint un niveau de compétence élevé, et maintenant, malheureusement, même cela commence à rouiller. Merci pour la correction! –