我得到“不在范围: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编译没有给我任何错误

你能帮我明白我做错了吗?

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top