我对Haskell还比较陌生,遇到了一些问题。我正在尝试实现一个函数,它接受一个列表和一个整数。这个整数应该是列表被分成一对列表的索引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!"
我实际上无法弄清如何进行分割。希望能得到帮助。