2013-01-11 10 views
52

次のcoffeescriptコードをコンパイルしようとするとエラーSyntaxError: Unmatched OUTDENT on line 9が表示されます。私は何が間違っているのか分かりません。くぼみは正しいと思われ、私はそれが欲しいところにすべてを持っています。Coffeescript outdentエラー

row_possibilities = (grid) -> 
    for rows in [0..8] by 1 
    for columns in [0..8] by 1 
     if(Array.isArray(grid[rows][columns]) 
     for possible_val in grid[rows][columns] by 1 
      grid = unique_row_possibility(grid, rows, columns, possible_val) 
      if(Array.isArray(grid[rows][columns]) == false) 
      break 
    return grid 

コードは、3つのforループを実行して、特定の条件が発生した場合に最も内側のforループを解除します。

すべてのforループが実行された後。私は変数のグリッドを返すしたい。私は間隔を二重にチェックして、repl.itで試してみましたが、わかりません。

+3

4行目の 'if(Array.isArray(grid [rows] [columns])'の閉じ括弧が欠けていませんか? –

+0

これはそれだったのですが、そのようなものはいつも後で分かりやすくなります。 – NielMalhotra

+2

あまりに長い間コードを見つめてから、時には2番目の目を取ることもあります。 –

答えて

85

見ることは少し厳しいが、それはあなたが4行目閉じ括弧不足していることが表示されます:一般的に

if(Array.isArray(grid[rows][columns]) 

を、この特定のエラーのため、問題はほとんどの場合、インデントまたはアンバランス括弧であるだろうか角かっこ/中括弧。

+0

Aaah、どうやって忘れてしまったのですか? –

+0

@JesseVogt - ありがとうございます - ありがとうございます同じエラーですが、私はそれを見つけることができません!chrs – BKSpurgeon

+0

@bkspurgeonいくつかのコードエディタは、一致する括弧を強調表示します –