如何遍历Haskell中的列表列表

时间:2012-02-11 21:34:28

标签: haskell

我要做的是制作一个经历二维的程序 数字的平方并找到给出最高总数的路径。从...开始 顶部,有效移动向下,向左/向右移动(如果可用)。

我遇到的问题是我正在使用此功能:

  slice :: [Int] -> Int -> Int -> [Int]
  slice x i k 
    | i > k = []
    | otherwise = (take (k-i+1) (drop (i-1) x))

和这个功能:

    path :: Board -> [Int]
    path [] = []
    path (x:xs) = (maximum (slice x 3 5 ) : path xs

其中类型板是列表列表。

有人可以向我解释如何使用变量代替3和5,这样 我可以得到所有的组合,然后评估哪条是最好的路线。

1 个答案:

答案 0 :(得分:1)

新手第一次尝试: - )

path::[Board] -> Int -> Int -> [Int]
path [] y z = []
path (x:xs) y z = maximum(slice x y z) : path xs y z