1

次のようにすると、「範囲外: x」というエラーが表示されます...

blanks :: Sudoku -> [Pos]
blanks (Sudoku su) = [ fst x | x <- posSud | isBlank (snd x) ]
    where
        isBlank Nothing = True
        isBlank _       = False
        posSud          = zip ixPos (concat su)
        ixPos           = zip ixRows ixCols
        ixCols          = concat (replicate 9 [0..8])
        ixRows          = [floor (x / 9) | x <- [0..81]]

ただし、2 行目のガードを外すと、GHCI はエラーなしでコンパイルされます。

私が間違っていることを理解するのを手伝ってもらえますか?

4

1 に答える 1

13

試す[ fst x | x <- posSud , isBlank (snd x) ]

于 2009-11-30T23:05:23.440 に答える