有人可以帮我实现这个功能吗?
getCell :: [[Int]] -> Int -> Int -> Int
其中 m i j 是列表 m 的行和列的索引。
索引从零开始,每行的大小相同。
如果 i 或 j 无效,该函数应返回 -1。
我正在进行 Haskell 考试,尽管事实上这可能会出现,但我仍然想知道我该怎么做,而且因为我从未在 Haskell 中使用过列表列表,所以我不知道如何开始解决这个问题。你能帮我个忙吗 ?
这是我到目前为止所做的:
getCell :: [[Int]] -> Int -> Int -> Int
getCell [] _ _ = "the list is empty!"
getCell zs x y =
if x > length zs || y > length (z:zs) then -1 else
let row = [x| x == !! head z <- zs]
column = ...
我不知道如何找到行和列
这应该可以使用(!!)
操作员。首先检查索引是否在列表中,然后使用访问该索引处的元素(!!)
.
getCell m i j = if i >= length m then -1
else let
m0 = m !! i
in if j >= length m0 then -1
else m0 !! j
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)