繁体   English   中英

如何遍历Haskell中的列表列表

[英]How to iterate through list of lists in 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,这样我可以获得所有连击,然后评估哪一条是最佳途径。

新手的第一次尝试:-)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM