Coffeescript 多行对象属性的语法不为';不允许在第一行使用键/值?
coffeescript解析器告诉我这不好:Coffeescript 多行对象属性的语法不为';不允许在第一行使用键/值?,coffeescript,Coffeescript,coffeescript解析器告诉我这不好: { one: 1, two: 2 } 但这是: { one: 1, two: 2 } 这是一个简单的语法规则,还是本例中发生的其他事情的副作用?Coffee脚本对空格敏感,并具有可选标记以增强可读性 如果不深入研究解析器的内部,我的理解是coffee脚本在解析阶段剥离了可选部分—类似于 # original... x = { one: 1, two: 2 } # ignore curlies, leaving... x = on
{ one: 1,
two: 2
}
但这是:
{
one: 1,
two: 2
}
这是一个简单的语法规则,还是本例中发生的其他事情的副作用?Coffee脚本对空格敏感,并具有可选标记以增强可读性 如果不深入研究解析器的内部,我的理解是coffee脚本在解析阶段剥离了可选部分—类似于
# original...
x = { one: 1,
two: 2
}
# ignore curlies, leaving...
x = one: 1,
two: 2
# remove comma leaving incorrectly indented code...
x = one: 1
two: 2
通过从偏移量以空白敏感样式写入
# new style
x = {
one: 1,
two: 2
}
# remove the curlies
x =
one: 1,
two: 2
# remove the comma, and nice clear whitespace sensitive definition remains...
x =
one: 1
two: 2
如果不缩进
two:2
部分,则此项功能有效;如果在一行上全部缩进,则此项功能也有效。我猜CS被它认为是双缩进的东西弄糊涂了。