Подтвердить что ты не робот

Многострочные строки coffeescript объединяются в многострочные строки

Как получилось, что эта строка

"answer 
 to life 
 the universe 
 and everything
 is
 #{40+2}
"

компилируется в

"  answer   to life   the universe   and everything  is  " + (40 + 2) + "";

как я могу заставить coffescript поддерживать его многострочный (сохранение целостности строки):

 "answer \ 
 to life \
 the universe \
 and everything \
 is \
 "+(40+2)
4b9b3361

Ответ 1

Попробуйте использовать синтаксис heredoc:

myString = """
answer
to life
the universe
and everything
is
#{40+2}
"""

Это преобразуется в этот javascript:

var myString;

myString = "answer\nto life\nthe universe\nand everything\nis\n" + (40 + 2);

На самом деле нет смысла указывать, что на самом деле это должно быть на символах новой строки в скомпилированном javascript, есть ли?

Ответ 2

Я согласен, что при определении длинных строк приятно сохранять отступы. Вы можете использовать добавление строк для этого эффекта в coffeescript, как вы можете в javascript:

myVeryLongString = 'I can only fit fifty-nine characters into this string ' +
                   'without exceeding eighty characters on the line, so I use ' +
                   'string addition to make it a little nicer looking.'

оценивается как

'I can only fit fifty-nine characters into this string without exceeding eighty characters, so I use string addition to make it a little nicer looking.'