Jak komentować w CoffeeScript? „/ * This * /” nie działa

142

W jaki sposób możesz komentować w CoffeeScript?

Dokumentacja mówi, że możesz użyć trzech symboli skrótu, aby rozpocząć i zamknąć blok komentarza:

###
  Comments
  go
  here
###

Odkryłem, że czasami mogę używać następujących dwóch formatów

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

Czy istnieje prostszy sposób wstawiania krótkich komentarzy w CoffeeScript?

NIE używaj tego stylu **

Ponieważ zbiera to dużo wyświetleń, chcę to podkreślić

/* Comment goes here */

generuje błąd MATH, gdy /*znajduje się w osobnym wierszu.

Jak zauważył Trevor w komentarzu do pytania, jest to wyrażenie regularne , a NIE komentarz!

Eric Hu
źródło
15
Jeśli /*...*/komentarz „działa”, to dlatego, że kompilator CoffeeScript interpretuje go jako wyrażenie regularne. Zdecydowanie nie polecam!
Trevor Burnham
1
Więc wydaje mi się, że w CoffeeScript NIE MA MOŻLIWOŚCI umieszczania komentarza w instrukcji wewnętrznej (między znakami)?
Pete Alvin

Odpowiedzi:

267

Użyj pojedynczego znaku #

# like this

Jedna postać wydaje się dość minimalna;)

Również:

###
This block comment (useful for ©-Copyright info) also gets 
passed on to the browsers HTML /* like this! */
###
Michael Durrant
źródło
4
Zwykle chcesz to komentować; potrójny hash jest najczęściej używany, gdy chcesz, aby komentarz trafił do javascript (zwykle wiadomości o prawach autorskich).
Aaron Dufour
5
Ach westchnij . Oficjalne dokumenty używają pojedynczego formularza # w swoich przykładach, ale tak naprawdę nigdy nie wspominają o tym w wyjaśnieniach tekstowych, mówi tylko o komentarzach blokowych.
Gerry
1
Niestety nie ma możliwości, aby komentarze blokowe nie pojawiały się na wyjściu.
nilskp
24

Głównym sposobem komentowania są komentarze w stylu sh / Perl / Ruby / ... #:

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

Używasz komentarzy w stylu blokowym,### gdy chcesz, aby komentarz pojawił się w wersji JavaScript:

Czasami chcesz przekazać komentarz blokowy do wygenerowanego kodu JavaScript. Na przykład, gdy musisz osadzić nagłówek licencji na górze pliku. Komentarze blokowe, które odzwierciedlają składnię heredoców, są zachowywane w wygenerowanym kodzie.

Więc jeśli zaczniesz od

###
PancakeParser is Public Domain
###

wtedy w wygenerowanym skrypcie JavaScript pojawi się ten komentarz JavaScript:

/*
PancakeParser is Public Domain
*/
mu jest za krótkie
źródło
4

Uważać na ###! Jeśli używasz ### do oddzielania sekcji kodu (tak jak ja), jest to strasznie zaskakujące, gdy w rezultacie kod przestaje działać.

Mark Wilden
źródło
Wiesz dlaczego? Mamy kod działający lokalnie, ale nie na serwerze kompilacji z ###.
Azat
Niestety zauważyłem to kilka miesięcy temu i nie jestem teraz „w tej przestrzeni”, żeby się temu przyjrzeć.
Mark Wilden
10
Ponieważ para robi komentarz blokowy?
3
Nie byłoby to takie zaskakujące, gdybyś użył edytora podświetlania składni, z komentarzami wyświetlanymi w innym kolorze
Nick Perkins
4
Dlaczego głosować przeciw? To ważne ostrzeżenie. Naprawdę mówi, że nie używaj ciągłej linii # jako separatora sekcji, bo czasami możesz otrzymać niezrównoważone pary komentarzy bloków.
Jim Mack,