117 votes

Commentaires de bloc en Clojure

Comment puis-je commenter plusieurs lignes en Clojure ?

142voto

Rayne Points 14518

En fait, il y a une façon!

(comment

(defn hey []
  ("Salut!"))

Regardez-moi!
)

Enveloppez simplement vos commentaires dans (comment ..) :)

Amusez-vous!

99voto

Greg Hewgill Points 356191

Clojure prend en charge un #_ lecteur macro qui saute complètement la prochaine forme. Cela est mentionné sur la page sur le Lecteur Clojure. Il existe également le macro de commentaire qui a un effet similaire, mais qui est implémenté différemment.

Les deux ci-dessus nécessitent que ce que vous commentez soit par ailleurs une expression S valide du point de vue syntaxique.

Certains dialectes Lisp ont un commentaire multi-lignes qui peut contenir du texte arbitraire, mais je n'en vois pas pour Clojure.

17voto

mikera Points 63056

D'autres exemples sont formidables, j'aimerais juste ajouter un autre astuce:

Parfois, vous voulez commenter quelques lignes de code, mais vous voulez quand même que le compilateur le compile et signale toutes les erreurs (par exemple, un ensemble de commandes dans un espace de noms de niveau supérieur que vous avez l'intention d'exécuter plus tard dans l'interpréteur).

Dans ce cas, j'aime envelopper le code avec (fn [] .....) ce qui signifie qu'il est toujours compilé, il n'est simplement pas appelé.

15voto

chollida Points 4583

Voir ce lien : http://en.wikibooks.org/wiki/Clojure_Programming/Tutorials_and_Tips

Vous pouvez créer des commentaires multilignes avec la syntaxe

(comment .....
    ....)

13voto

Chiron Points 7842

Gardez à l'esprit que (commentaire) renvoie null.

(+ 4 4 (commentaire 3))

NullPointerException   clojure.lang.Numbers.ops (Numbers.java:942)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X