Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Coffeescript 模式字符串格式_Coffeescript - Fatal编程技术网

Coffeescript 模式字符串格式

Coffeescript 模式字符串格式,coffeescript,Coffeescript,可以按如下方式格式化字符串: text = 'text' formatted = "Text: #{text}" pattern = (text) -> "Text: #{text}" text = 'text' formatted = pattern text pattern = ({text1, text2, text3}) -> "Text: #{text1}, #{text2} and #{text3}" text1 = 'text' text2 = 'awesome t

可以按如下方式格式化字符串:

text = 'text'
formatted = "Text: #{text}"
pattern = (text) -> "Text: #{text}"
text = 'text'
formatted = pattern text
pattern = ({text1, text2, text3}) -> "Text: #{text1}, #{text2} and #{text3}"
text1 = 'text'
text2 = 'awesome text'
text3 = 'another text'
formatted = pattern {text1, text2, text3}
下面呢

pattern = "Text: #{text}"
text = 'text'
formatted = ???

coffeescript中的模式格式化是coffeescript->javascript编译器的一部分

所以

立即编译成

pattern = "Text: " + text;
这就是原因

pattern = "Text: #{text}"
text = 'text'
将抛出错误“未定义文本”

但您可以将其封装在如下函数中:

text = 'text'
formatted = "Text: #{text}"
pattern = (text) -> "Text: #{text}"
text = 'text'
formatted = pattern text
pattern = ({text1, text2, text3}) -> "Text: #{text1}, #{text2} and #{text3}"
text1 = 'text'
text2 = 'awesome text'
text3 = 'another text'
formatted = pattern {text1, text2, text3}
或者像这样:

text = 'text'
formatted = "Text: #{text}"
pattern = (text) -> "Text: #{text}"
text = 'text'
formatted = pattern text
pattern = ({text1, text2, text3}) -> "Text: #{text1}, #{text2} and #{text3}"
text1 = 'text'
text2 = 'awesome text'
text3 = 'another text'
formatted = pattern {text1, text2, text3}

coffeescript中的模式格式化是coffeescript->javascript编译器的一部分

所以

立即编译成

pattern = "Text: " + text;
这就是原因

pattern = "Text: #{text}"
text = 'text'
将抛出错误“未定义文本”

但您可以将其封装在如下函数中:

text = 'text'
formatted = "Text: #{text}"
pattern = (text) -> "Text: #{text}"
text = 'text'
formatted = pattern text
pattern = ({text1, text2, text3}) -> "Text: #{text1}, #{text2} and #{text3}"
text1 = 'text'
text2 = 'awesome text'
text3 = 'another text'
formatted = pattern {text1, text2, text3}
或者像这样:

text = 'text'
formatted = "Text: #{text}"
pattern = (text) -> "Text: #{text}"
text = 'text'
formatted = pattern text
pattern = ({text1, text2, text3}) -> "Text: #{text1}, #{text2} and #{text3}"
text1 = 'text'
text2 = 'awesome text'
text3 = 'another text'
formatted = pattern {text1, text2, text3}

不,字符串插值语法不是这样工作的。 不过,这可能是实现完全相同目标的更好方法:

pattern = 'Text: #{text}'
text = 'text'
formatted = pattern.replace /#{text}/, text

不,字符串插值语法不是这样工作的。 不过,这可能是实现完全相同目标的更好方法:

pattern = 'Text: #{text}'
text = 'text'
formatted = pattern.replace /#{text}/, text

虽然这会起作用,但我认为引入正则表达式来解决这个问题是个坏建议。虽然这会起作用,但我认为引入正则表达式来解决这个问题是个坏建议