Donc, il y a 2 choses qui se passent ici. La première est d'interpolation, qui coffeescript prend en charge directement à l'aide de double-cité des littéraux de chaîne et ruby la syntaxe de style comme ceci:
"The #{speed} #{color} #{animal} jumped over the lazy dog"
Qui va remplacer les espaces par les variables correspondantes de la portée locale. C'est le idiomatiques façon de gérer la chaîne d'interpolation en coffeescript (et ruby).
Deuxième est la mise en forme, vous devriez probablement gérer séparément si vous souhaitez obtenir des numéros spécifiques avec des décimales, des milliers séparés par des virgules, les zéros en tête, ou ce genre de chose. Cependant, CoffeeScript peut interpoler la mise en forme, de sorte que vous pourriez faire
"Free shipping on orders over #{currency(freeShipAmount)}"
Pour d'autres fonctionnalités avec C-style de formateurs, ont un oeil à JavaScript sprintf (que j'ai trouvé sur cette réponse)
Bon point - Merci de me rappeler pour expliquer pourquoi j'ai essayé de trouver une chaîne de caractères.format() de la solution au lieu de l'aide "....#{var}...." N'Café de Script ont une syntaxe spéciale pour les zéros non significatifs? Non, café script a l'interpolation de l'arbitraire des expressions dans les littéraux de chaîne. Il n'y a pas de soutien spécial pour la mise en forme des données en coffeescript directement. L'utilisation de toute bibliothèque javascript pour faire la mise en forme et puis coffeescript pour interpoler.
À l'aide de la #{var} approche (bien que parfait pour l'exemple donné) ne fonctionne pas avec une chaîne de caractères qui doit être recyclé plusieurs fois. Dans une situation de boucle par exemple:
Donc, il y a 2 choses qui se passent ici. La première est d'interpolation, qui coffeescript prend en charge directement à l'aide de double-cité des littéraux de chaîne et ruby la syntaxe de style comme ceci:
Qui va remplacer les espaces par les variables correspondantes de la portée locale. C'est le idiomatiques façon de gérer la chaîne d'interpolation en coffeescript (et ruby).
Deuxième est la mise en forme, vous devriez probablement gérer séparément si vous souhaitez obtenir des numéros spécifiques avec des décimales, des milliers séparés par des virgules, les zéros en tête, ou ce genre de chose. Cependant, CoffeeScript peut interpoler la mise en forme, de sorte que vous pourriez faire
Pour d'autres fonctionnalités avec C-style de formateurs, ont un oeil à JavaScript sprintf (que j'ai trouvé sur cette réponse)
N'Café de Script ont une syntaxe spéciale pour les zéros non significatifs?
Non, café script a l'interpolation de l'arbitraire des expressions dans les littéraux de chaîne. Il n'y a pas de soutien spécial pour la mise en forme des données en coffeescript directement. L'utilisation de toute bibliothèque javascript pour faire la mise en forme et puis coffeescript pour interpoler.
OriginalL'auteur Peter Lyons
Ce qui semble faire l'affaire:
Traduits à l'aide de certains javascript de fearphage
Qui peut ensuite être utilisé comme ceci:
mystring serait alors:
À l'aide de la #{var} approche (bien que parfait pour l'exemple donné) ne fonctionne pas avec une chaîne de caractères qui doit être recyclé plusieurs fois. Dans une situation de boucle par exemple:
OriginalL'auteur jiy
La idiomatiques version de la accepté de répondre:
OriginalL'auteur Seth