Как мне комментировать в CoffeeScript? «/ * Это * /» не работает

142

Каким образом вы можете комментировать в CoffeeScript?

В документации сказано, что вы можете использовать три символа хеша для запуска и закрытия блока комментариев:

###
  Comments
  go
  here
###

Я обнаружил, что иногда могу использовать следующие два формата

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

Есть ли более простой способ вставить короткие комментарии в CoffeeScript?

НЕ используйте этот стиль **

Так как это получает много мнений, я хочу подчеркнуть, что

/* Comment goes here */

выдает ошибку MATH, когда /*находится на отдельной строке.

Как отметил Тревор в комментарии к вопросу, это регулярное выражение , а не комментарий!

Эрик Ху
источник
15
Если /*...*/комментарий «работает», то это потому, что компилятор CoffeeScript интерпретирует его как регулярное выражение. Определенно не рекомендуется!
Тревор Бернхем
1
Так что я думаю, что в CoffeeScript НЕТ ПУТИ, чтобы иметь комментарий внутри оператора (между символами)?
Пит Элвин

Ответы:

267

Используйте один знак #

# like this

Один персонаж кажется довольно минимальным;)

Также:

###
This block comment (useful for ©-Copyright info) also gets 
passed on to the browsers HTML /* like this! */
###
Майкл Даррант
источник
4
Это обычно, как вы хотите комментировать; Тройной хэш чаще всего используется, когда вы хотите, чтобы комментарий переместился в JavaScript (обычно это сообщения об авторских правах).
Аарон Дюфур
5
Ах вздох . Официальные документы используют единственную форму # во всех примерах, но никогда не упоминают ее в текстовых пояснениях, она говорит только о комментариях блока.
Джерри
1
К сожалению, нет способа получить блочные комментарии, которые не отображаются в выводе.
nilskp
24

Основной способ комментирования - это #комментарии в стиле sh / Perl / Ruby / ... :

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

Вы используете комментарии стиля блока,### когда хотите, чтобы комментарий появился в версии JavaScript:

Иногда вы хотите передать блочный комментарий в сгенерированный JavaScript. Например, когда вам нужно вставить лицензионный заголовок вверху файла. Блочные комментарии, которые отражают синтаксис heredocs, сохраняются в сгенерированном коде.

Так что, если вы начнете с

###
PancakeParser is Public Domain
###

тогда вы получите этот комментарий JavaScript в сгенерированном JavaScript:

/*
PancakeParser is Public Domain
*/
мю слишком коротка
источник
4

Остерегаться ###! Если вы используете ### для разделения разделов кода (как и я), то это очень удивительно, когда этот код перестает работать в результате.

Марк Уилден
источник
Ты знаешь почему? У нас есть код, работающий локально, но не на сервере сборки с ###.
Азат
К сожалению, я заметил это несколько месяцев назад, и сейчас я не «в этом пространстве», чтобы взглянуть на это.
Марк Уилден
10
Потому что пара делает блочный комментарий?
3
Не было бы так удивительно, если бы вы использовали редактор подсветки синтаксиса с комментариями, появляющимися в другом цвете
Ник Перкинс
4
Почему понизить? Это действительное предупреждение. Действительно, он говорит, что не используйте сплошную линию # в качестве разделителя разделов, или вы можете иногда получать несбалансированные пары комментариев к блоку.
Джим Мак