代码之家  ›  专栏  ›  技术社区  ›  Mickel

Haskell列表理解

  •  1
  • Mickel  · 技术社区  · 15 年前

    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编译不会出现任何错误。

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

    1 回复  |  直到 15 年前
        1
  •  13
  •   qba    15 年前

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