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

coffeescript解析器告诉我这不好:

{ 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被它认为是双缩进的东西弄糊涂了。