Coffeescript 创建一个插入变量的字符串,然后为该变量指定一个值,并使用指定的值打印字符串?

Coffeescript 创建一个插入变量的字符串,然后为该变量指定一个值,并使用指定的值打印字符串?,coffeescript,Coffeescript,我所希望的是这样的东西: str = "This is a #{testing}" testing = "test" console.log(str) # => "This is a test" 用例不能有效地切换变量定义的顺序,因此如果可能的话,我希望避免这种情况。不幸的是“这是一个#{testing}”只是的简写形式。这是一个“+测试”,所以你的建议不起作用。使用str=(testing)->“这是一个#{testing}”和console.log(str(testing))可能是

我所希望的是这样的东西:

str = "This is a #{testing}"
testing = "test"
console.log(str)

# => "This is a test"

用例不能有效地切换变量定义的顺序,因此如果可能的话,我希望避免这种情况。

不幸的是
“这是一个#{testing}”
只是
的简写形式。这是一个“+测试”
,所以你的建议不起作用。使用
str=(testing)->“这是一个#{testing}”
console.log(str(testing))
可能是一个选项。
prinft
的JavaScript实现可能是另一种选择。感谢您的回复!没有办法“重新计算”字符串或任何东西?抱歉,我想不出任何明智的做法(除了使用函数而不是字符串)。理智总是首选,虽然这实际上不是一个坏主意……您可以尝试创建一个对象并重写
toString
,但是您必须欺骗JavaScript使用一些丑陋的东西调用
toString
,比如
some\u string+your\u object
。我认为显式函数或模板系统会更好,尤其是当您在六个月后回到这段代码时。