咖啡脚本 |意外的换行符(翻译成 java,看起来不错)

CoffeeScript | Unexpected newline (translated to java, looks fine)

我正在为使用 CoffeeScript 的 Framer 编写一些代码。我是 CoffeeScript 的新手,但有 Java 和 Python 方面的经验。

我写了一些代码并尝试 运行,遇到意外的换行错误。为了更好地理解这一点,我将我的代码放入 coffeelint.org 并得到了同样的错误。

所以我尝试将代码分段,但它仍然出现错误,我已经让另外两个人查看了它,但他们找不到错误:

for data in roomData:
  if data == londonData
    name = 'London'
  else if data == seattleData
    name = 'Seattle'
  else if data == downtownData
    name = 'Down Town'
  else
    name = 'Toyko'

  Card = new Layer

'Card = new Layer' 必须在 for 循环中定义。使用 js2.coffee 将其翻译成 JS 并得到错误。

您添加了不必要的冒号。应该是

for data in roomData # no :
  if data == londonData
    name = 'London'
  else if data == seattleData
    name = 'Seattle'
  else if data == downtownData
    name = 'Down Town'
  else
    name = 'Toyko'

  Card = new Layer

顺便说一句,您可以使用 switch

而不是多个带有赋值的 if-else
for data in roomData
  name = switch data
    when londonData then 'London'
    when seattleData then 'Seattle'
    when downtownData then 'Down Town'
    else 'Tokio'

  Card = new Layer