List Haskell:使用列表中的每个元素调用函数

List Haskell:使用列表中的每个元素调用函数,list,haskell,functional-programming,List,Haskell,Functional Programming,我正在做一个数独解题程序,我有一个potentialNbrsAt函数,它可以得到可能在xy位置的数字 现在,我试图得到列中每个潜在数字列表的交集。类似下面的onlyOnePlaceForNbrInCol函数 代码: 我认为,在某个时候,只有代替NBRINCOL的人才应该使用0到8之间的每个数字调用potentialNbrsAt作为y的参数。告诉我怎么做会有很大帮助。所以您正在尝试确定数字[0..8]是否满足给定的谓词。关于[potentialNbrsAt x y数独| y我没想到会这么容易。Th

我正在做一个数独解题程序,我有一个
potentialNbrsAt
函数,它可以得到可能在xy位置的数字

现在,我试图得到列中每个潜在数字列表的交集。类似下面的
onlyOnePlaceForNbrInCol
函数

代码:


我认为,在某个时候,只有代替NBRINCOL的人才应该使用0到8之间的每个数字调用potentialNbrsAt作为y的参数。告诉我怎么做会有很大帮助。

所以您正在尝试确定数字
[0..8]
是否满足给定的谓词。

关于
[potentialNbrsAt x y数独| y我没想到会这么容易。Thx!PS:当数字9或
div
操作符出现在数独解算器中时,它显示出建模不足:网格没有二维(9x9),而是四维(3x3x3x3)。在德语中,“die anschaung is auch of der Feind des Verständnisses。”
potentialNbrsAt :: Int -> Int -> Sudoku -> [Int]
potentialNbrsAt x y sudoku = intersect rowMissingNbrs $ intersect colMissingNbrs sqrMissingNbrs
                where rowMissingNbrs = getMissingNbrs $ getRow y sudoku
                      colMissingNbrs = getMissingNbrs $ getCol x sudoku
                      sqrMissingNbrs = getMissingNbrs $ getSquare squareIndex sudoku
                      squareIndex    = 3 * (y `div` 3) + (x `div` 3)

onlyOnePlaceForNbrInCol :: Int -> Int -> Sudoku -> Bool
onlyOnePlaceForNbrInCol colIndex nbr sudoku = -- What goes here? Some pointers please???