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:nd 行的保护,GHCI 编译不会给我任何错误。

你能帮我理解我做错了什么吗?

4

1 回答 1

13

尝试[ fst x | x <- posSud , isBlank (snd x) ]

于 2009-11-30T23:05:23.440 回答