Coffeescript 为什么缩进字典没有';你不在咖啡馆工作吗?

Coffeescript 为什么缩进字典没有';你不在咖啡馆工作吗?,coffeescript,Coffeescript,我无法理解为什么会这样 $.ajax({ url: "http://ruzzle-map.herokuapp.com/bad", data: { word: $(".words-list li > span.word").eq(current_word).text() }, dataType: 'jsonp', jsonp: 'jsoncall' }) 当这个 $.ajax({ url: "http://ruzzle-map.her

我无法理解为什么会这样

$.ajax({ url: "http://ruzzle-map.herokuapp.com/bad", 
         data: { word: $(".words-list li > span.word").eq(current_word).text() },
         dataType: 'jsonp',
         jsonp: 'jsoncall' })
当这个

$.ajax({ url: "http://ruzzle-map.herokuapp.com/bad", data: { word: $(".words-list li > span.word").eq(current_word).text() }, dataType: 'jsonp', jsonp: 'jsoncall' })

编译效果很好。

如果在编译的第一个大括号后添加新行,编译器似乎弄乱了对象文本的缩进:

$.ajax({
  url: "http://ruzzle-map.herokuapp.com/bad", 
  data: { word: $(".words-list li > span.word").eq(current_word).text() },
  dataType: 'jsonp',
  jsonp: 'jsoncall' 
})
假设这是CoffeeScript,您可以省略函数调用括号,并信任对象文本的缩进和换行,而不是使用大括号和逗号:

$.ajax
  url: "http://ruzzle-map.herokuapp.com/bad"
  data: 
    word: $(".words-list li > span.word").eq(current_word).text()
  dataType: 'jsonp'
  jsonp: 'jsoncall'

缩进对象语法非常漂亮。但我想知道这是否是编译器中的一个bug…@Filosotile-hmmm,可能是,我不知道。复制相同行为的更基本的情况。当新行未缩进时。在CoffeeScript中,缩进或空白相关的bug通常是相当棘手的,因为有太多的角落案例。在这种情况下,我不会感到惊讶,如果已经被打开(如果你能找到它呵呵)。