web-dev-qa-db-fra.com

Erreur de dépassement inégalée de Coffeescript

Je reçois l'erreur SyntaxError: Unmatched OUTDENT on line 9 lorsque j'essaie de compiler le code coffeescript suivant. Je ne suis pas sûr de ce que je fais mal. l'indentation semble être correcte, et j'ai tout où je le veux.

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

Ce que le code est censé faire, c'est d'exécuter les trois boucles for et de casser la boucle for la plus interne si une certaine condition se produit.

Après toutes les boucles for s'exécutent. Je veux retourner la grille variable. J'ai revérifié l'espacement et je l'ai essayé sur repl.it, mais je ne peux pas le comprendre.

57
NielMalhotra

Un peu difficile à voir, mais il semble qu'il manque une parenthèse fermante à la ligne 4:

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

En général, pour cette erreur particulière, le problème résidera presque toujours avec un retrait ou une parenthèse déséquilibrée ou des crochets/accolades.

93
Jesse Vogt