【发布时间】:2012-09-14 10:33:26
【问题描述】:
我对 Haskell 很陌生,但遇到了一些麻烦。我正在尝试实现一个带有列表和 int 的函数。 int 应该是列表被分成一对列表的索引 k。第一个包含列表的前 k 个元素,第二个包含 k+1 到最后一个元素。到目前为止,这是我所拥有的:
split :: [a] -> Int -> ([a], [a])
split [] k = error "Empty list!"
split (x:[]) k = ([x],[])
split xs k | k >= (length xs) = error "Number out of range!"
| k < 0 = error "Number out of range!"
我实际上无法弄清楚如何进行拆分。任何帮助将不胜感激。
【问题讨论】:
-
也许这会有所帮助? - Taking sub-arrays in Haskell
-
不,不要用数组来做列表处理!