我试图从2d数组中获取第n个数组,但我做不到。 例如,我需要获取第二个数组。 {[1,2,3],[4,5,6],[7,8,9]}
stringstream
我应该如何实现此功能? 预先感谢。
答案 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)