Comment puis-je commenter dans CoffeeScript? "/ * This * /" ne fonctionne pas

142

De quelles manières pouvez-vous commenter dans CoffeeScript?

La documentation indique que vous pouvez utiliser trois symboles de hachage pour démarrer et fermer un bloc de commentaires:

###
  Comments
  go
  here
###

J'ai constaté que je peux parfois utiliser les deux formats suivants

`// backticks allow for straight-JavaScript,
 // but the closing backtick can't be on a comment line (I think?)
`

Existe-t-il un moyen plus simple d'insérer de courts commentaires dans CoffeeScript?

N'utilisez PAS ce style **

Comme cela suscite beaucoup de points de vue, je tiens à souligner que

/* Comment goes here */

produit une erreur MATH lorsque le /*est sur sa propre ligne.

Comme Trevor l'a souligné dans un commentaire sur la question, c'est une expression régulière , PAS un commentaire!

Eric Hu
la source
15
Si un /*...*/commentaire «fonctionne», c'est parce que le compilateur CoffeeScript l'interprète comme une regex. Certainement pas recommandé!
Trevor Burnham
1
Donc je suppose qu'il n'y a AUCUN MOYEN dans CoffeeScript pour avoir un commentaire intra-instruction (entre les caractères)?
Pete Alvin

Réponses:

267

Utilisez un seul signe #

# like this

Un personnage semble assez minime;)

Aussi:

###
This block comment (useful for ©-Copyright info) also gets 
passed on to the browsers HTML /* like this! */
###
Michael Durrant
la source
4
C'est généralement ainsi que vous voudrez commenter; le triple hachage est le plus souvent utilisé lorsque vous voulez que le commentaire passe par le javascript (messages de copyright, généralement).
Aaron Dufour
5
Ah soupir . Les documents officiels utilisent le formulaire # unique tout au long de leurs exemples, mais ne le mentionnent jamais dans les explications textuelles, il ne parle que des commentaires de bloc.
Gerry
1
Malheureusement, aucun moyen d'avoir des commentaires de bloc qui n'apparaissent pas dans la sortie.
nilskp
24

La principale façon de commenter est les commentaires de style sh / Perl / Ruby / ... #:

# This comment goes to the end of the line
# and it won't appear in the "compiled"
# JavaScript version.

Vous utilisez les commentaires de style bloc### lorsque vous souhaitez qu'un commentaire apparaisse dans la version JavaScript:

Parfois, vous souhaitez transmettre un commentaire de bloc au JavaScript généré. Par exemple, lorsque vous devez incorporer un en-tête de licence en haut d'un fichier. Les commentaires de bloc, qui reflètent la syntaxe des heredocs, sont conservés dans le code généré.

Donc si vous commencez par

###
PancakeParser is Public Domain
###

alors vous obtiendrez ce commentaire JavaScript dans le JavaScript généré:

/*
PancakeParser is Public Domain
*/
mu est trop court
la source
4

Faîtes attention à ###! Si vous utilisez ### pour séparer des sections de code (comme je le fais), il est terriblement surprenant que ce code cesse de fonctionner en conséquence.

Mark Wilden
la source
Est-ce que tu sais pourquoi? Nous avons le code qui fonctionne localement mais pas sur le serveur de construction avec ###.
Azat
Malheureusement, je l'ai remarqué il y a des mois, et je ne suis pas "dans cet espace" en ce moment pour y jeter un coup d'œil.
Mark Wilden
10
Parce qu'une paire fait un commentaire de bloc?
3
Ce ne serait pas si surprenant si vous utilisiez un éditeur de coloration syntaxique, avec des commentaires apparaissant dans une couleur différente
Nick Perkins
4
Pourquoi voter contre? C'est un avertissement valable. Vraiment, il est dit de ne pas utiliser une ligne continue de # comme séparateur de section, ou vous pouvez parfois obtenir des paires de commentaires de bloc non équilibrées.
Jim Mack