coffeescript中的语法错误

coffeescript中的语法错误,coffeescript,Coffeescript,一直说有一个意想不到的如果,但我没有改变被接受 addAnimation : (anim) -> if anim.time > @animations[@animations.length - 1] @animations.push(anim) else if anim.time < @animations[0] @animations.unshift(anim) else for index in [1.

一直说有一个意想不到的如果,但我没有改变被接受

addAnimation : (anim) ->
    if anim.time > @animations[@animations.length - 1]
        @animations.push(anim)
    else if anim.time < @animations[0]
        @animations.unshift(anim)
    else
        for index in [1..@animations.length]
            if anim.time > @animations[index-1].time
            and anim.time < @animations[index]
                @animations.splice(index, 0, anim)
                    break
addAnimation:(动画)->
如果anim.time>@animations[@animations.length-1]
@动画。推送(动画)
如果动画时间<@animations[0]
@动画。取消移动(动画)
其他的
对于[1..@animations.length]中的索引
如果anim.time>@animations[index-1].time
和anim.time<@动画[索引]
@动画.拼接(索引,0,动画)
打破

所有间距尽可能正确。我使用4表示所有缩进,并且没有尾随空格。我是否误解了语法。顺便说一句,这应该是一个简单的插入排序。

如果您将
内联,并删除
break
语句上的额外缩进,则它可以正常工作

addAnimation : (anim) ->
    if anim.time > @animations[@animations.length - 1]
        @animations.push(anim)
    else if anim.time < @animations[0]
        @animations.unshift(anim)
    else
        for index in [1...@animations.length] by 1
            if anim.time > @animations[index-1].time and 
            anim.time < @animations[index]
                @animations.splice(index, 0, anim)
                break
鉴于本文件不会编译:

if a
and b 
not c
  do nothing
if a
and b 
not c
  do nothing