Comment se fait-il que cette chaîne
"answer
to life
the universe
and everything
is
#{40+2}
"
compile en
" answer to life the universe and everything is " + (40 + 2) + "";
comment puis-je forcer coffescript pour le garder multiligne (en gardant l'interpolation de chaîne intacte):
"answer \
to life \
the universe \
and everything \
is \
"+(40+2)
Essayez d'utiliser la syntaxe heredoc
:
myString = """
answer
to life
the universe
and everything
is
#{40+2}
"""
Cela se transforme en ce javascript:
var myString;
myString = "answer\nto life\nthe universe\nand everything\nis\n" + (40 + 2);
Il n'y a pas vraiment de raison de le faire visuellement sur les nouvelles lignes dans le javascript compilé, n'est-ce pas?
Je suis d'accord qu'il est agréable de pouvoir conserver votre indentation lors de la définition de longues cordes. Vous pouvez utiliser l'ajout de chaînes pour cet effet en coffeescript comme vous le pouvez en 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.'
évalue à
'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.'