Como faço para comentar no CoffeeScript? "/ * This * /" não funciona

142

De que maneira você pode comentar no CoffeeScript?

A documentação diz que você pode usar três símbolos de hash para iniciar e fechar um bloco de comentários:

###
  Comments
  go
  here
###

Descobri que às vezes posso usar os dois formatos a seguir

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

Existe uma maneira mais simples de inserir pequenos comentários no CoffeeScript?

NÃO use esse estilo **

Como isso está recebendo muitas visualizações, quero enfatizar que

/* Comment goes here */

produz um erro MATH quando o /*está em sua própria linha.

Como Trevor apontou em um comentário sobre a pergunta, esta é uma expressão regular , NÃO um comentário!

Eric Hu
fonte
15
Se um /*...*/comentário "funciona", é porque o compilador CoffeeScript o está interpretando como um regex. Definitivamente não é recomendado!
Trevor Burnham
1
Então, eu acho que não há maneira no CoffeeScript de ter um comentário intra-declaração (entre caracteres)?
Pete Alvin #

Respostas:

267

Use um único sinal de #

# like this

Um personagem parece bastante mínimo;)

Além disso:

###
This block comment (useful for ©-Copyright info) also gets 
passed on to the browsers HTML /* like this! */
###
Michael Durrant
fonte
4
Geralmente é assim que você deseja comentar; o hash triplo é usado com mais frequência quando você deseja que o comentário caia no javascript (mensagens de direitos autorais, geralmente).
Aaron Dufour
5
Ah suspiro . Os documentos oficiais usam o formulário # único em todos os exemplos, mas nunca o mencionam nas explicações do texto, mas apenas nos comentários dos blocos.
Gerry
1
Infelizmente, não há como bloquear comentários que não aparecem na saída.
Nskp
24

A principal maneira de comentar são os comentários no estilo sh / Perl / Ruby / ... #:

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

Você usa os comentários no estilo de bloco### quando deseja que um comentário apareça na versão JavaScript:

Às vezes, você gostaria de passar um comentário em bloco para o JavaScript gerado. Por exemplo, quando você precisa incorporar um cabeçalho de licenciamento na parte superior de um arquivo. Os comentários de bloco, que refletem a sintaxe dos heredocs, são preservados no código gerado.

Então, se você começar com

###
PancakeParser is Public Domain
###

você receberia este comentário JavaScript no JavaScript gerado:

/*
PancakeParser is Public Domain
*/
mu é muito curto
fonte
4

Cuidado com o ###! Se você usar ### para separar seções do código (como eu faço), é muito surpreendente quando esse código parar de funcionar como resultado.

Mark Wilden
fonte
Você sabe por quê? Temos o código funcionando localmente, mas não no servidor de compilação com ###.
Azat
Infelizmente, notei isso meses atrás e não estou "naquele espaço" agora para dar uma olhada.
Mark Wilden
10
Porque um par faz um comentário em bloco?
3
Não seria tão surpreendente se você usou um editor de realce de sintaxe, com comentários que aparecem em uma cor diferente
Nick Perkins
4
Por que voto negativo? É um aviso válido. Realmente, está dizendo que não use uma linha sólida de # como separador de seção, ou você pode ocasionalmente obter pares de comentários de bloco desequilibrados.
Jim Mack