String 如何在coffeescript中输出块文本,所有内容前面都有空格
汇编成String 如何在coffeescript中输出块文本,所有内容前面都有空格,string,coffeescript,String,Coffeescript,汇编成 redditFunny = """ TEST TEST """ console.log redditFunny 我只想按原样从以下位置输出: 块字符串可用于保存格式化或缩进敏感文本(或者,如果您不想转义引号和撇号)块开始的缩进级别在整个过程中都保持着,因此您可以使其与代码主体保持一致 我的。他们举的例子是,这个咖啡脚本: var redditFunny; redditFunny = "TEST TEST";
redditFunny = """
TEST TEST
"""
console.log redditFunny
我只想按原样从以下位置输出:
块字符串可用于保存格式化或缩进敏感文本(或者,如果您不想转义引号和撇号)块开始的缩进级别在整个过程中都保持着,因此您可以使其与代码主体保持一致
我的。他们举的例子是,这个咖啡脚本:
var redditFunny;
redditFunny = "TEST TEST";
console.log(redditFunny);
将成为以下JavaScript:
html = """
<strong>
cup of coffeescript
</strong>
"""
s = """
\ this
is indented
"""
请注意,'\'
是一种复杂的编写'
的方式,因为转义的空格就是一个空格
您还可以使用\u0020
是空格的Unicode转义,并说:
s = "\ this\n is indented"
// ^^ ^
以实现相同的输出
对我来说,这似乎有点狡猾和脆弱,但在块正则表达式中处理前导的#
也是类似的事情,所以这应该是非常安全的
我可能会避免所有这些聪明的做法,编写一个小的缩进函数,在'\n'
上拆分一个字符串,并将其与前导缩进粘贴在一起,这样我就可以说:
s = """
\u0020this
is indented
"""
将块缩进11个空格。是的,没有缩进检查就无法写入字符串,这看起来真的很愚蠢。在写这篇文章的时候,我无法让自己去写一个函数。我想这是唯一的办法:(
s = """
\u0020this
is indented
"""
indent(some_string_with_newlines, ' ')