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!


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! */
###

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
*/

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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.