2013-10-28 31 views
0

對於這個語法:的CoffeeScript:意外「{」,當我嘗試創建一個對象文本對象文本的

BASE_RUNNERS = { basesLoaded:  { first: "manned", second: "manned", third: "manned" }, 
        firstAndSecond: { first: "manned", second: "manned", third: "empty" }, 
        firstAndThird: { first: "manned", second: "empty", third: "manned" }, 
        secondAndThird: { first: "empty", second: "manned", third: "manned" }, 
        first:   { first: "manned", second: "empty", third: "empty" }, 
        second:   { first: "empty", second: "manned", third: "empty" }, 
        third:   { first: "empty", second: "empty", third: "manned" }, 
        empty:   { first: "empty", second: "empty", third: "empty" } 
        } 

我收到的錯誤:

[stdin]:154:27: error: unexpected { 
          firstAndSecond: { first: "manned", second: "manned", third: "empty", addedScore: 0 }, 
         ^

不知道爲什麼,它看起來合法對我來說。

+0

如何使用對象'BASE_RUNNER' –

+2

該代碼很好,並且不會產生錯誤。然後檢查隱藏的「搞笑」Unicode字符。 – Pointy

+0

@Pointy雖然我想我知道你的意思,但是你可以詳細說明OP還是Google的觀衆不? – BlackVegetable

回答

3

大括號不是問題,問題在於非CoffeeScript縮進。 CoffeeScript對空白非常敏感,即使您提供了可選的括號,您仍然需要小心您的縮進符合所需的塊結構。混亂消失,如果你把它寫這種方式:

BASE_RUNNERS = { 
    basesLoaded:  { first: "manned", second: "manned", third: "manned" }, 
    firstAndSecond: { first: "manned", second: "manned", third: "empty" }, 
    firstAndThird: { first: "manned", second: "empty", third: "manned" }, 
    secondAndThird: { first: "empty", second: "manned", third: "manned" }, 
    first:   { first: "manned", second: "empty", third: "empty" }, 
    second:   { first: "empty", second: "manned", third: "empty" }, 
    third:   { first: "empty", second: "empty", third: "manned" }, 
    empty:   { first: "empty", second: "empty", third: "empty" } 
} 

你的困難的來源是一個非縮basesLoaded與縮進鍵的組合休息。

1

的CoffeeScript不接受有效的JavaScript語法,我不得不把它改寫這樣的:

BASE_RUNNERS = 
     basesLoaded: first: "manned", second: "manned", third: "manned" 
     firstAndSecond: first: "manned", second: "manned", third: "empty" 
     firstAndThird: first: "manned", second: "empty", third: "manned" 
     secondAndThird: first: "empty", second: "manned", third: "manned" 
     first:   first: "manned", second: "empty", third: "empty" 
     second:   first: "empty", second: "manned", third: "empty" 
     third:   first: "empty", second: "empty", third: "manned" 
     empty:   first: "empty", second: "empty", third: "empty" 

這我不知道爲好;看起來更糟糕恕我直言。

+0

如果在下一行縮進它們,而不是將它們全部放在同一行上,它可能會更容易閱讀。 – rogMaHall

+0

@rogMaHall這是真的,但它佔用了很大的垂直空間。 –

+0

這一個將工作,但我也喜歡更多的可讀性大括號。 –

相關問題