从第二个数组获取第n个数组

时间:2019-03-06 15:32:35

标签: haskell purescript

我试图从2d数组中获取第n个数组,但我做不到。 例如,我需要获取第二个数组。 {[1,2,3],[4,5,6],[7,8,9]}

stringstream

我应该如何实现此功能? 预先感谢。

1 个答案:

答案 0 :(得分:3)

我敢肯定,至少在我们谈论{[1,2,3], [4,5,6], [7,8,9]}时,您不能将数组定义为Data.Array

列表

如果您在谈论列表,那么如果您在[a] -> int -> a的{​​{3}}上查找,则会看到(!!) :: [a] -> Int -> a是您要查找的功能。如果您只需要第二个,可以免费使用点数

getSecond :: [[Int]] -> [Int]
getSecond = (!!2)

数组

如果您谈论的是Data.Array,那么通过类似的Hoogle搜索,您会发现还有一个功能:(!) :: Ix i => Array i e -> i -> e

您的数组应定义为Array Int (Array Int Int),您的函数应为

getSecond :: Array Int (Array Int Int) -> Array Int Int
getSecond = (!2)