使用. 实现 Haskelltake和drop函数foldl。
关于如何使用foldl??实现 take 和 drop 功能有什么建议吗?
take x ls = foldl ???
drop x ls = foldl ???
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这些,但它显示错误:
myFunc :: Int -> [a] -> [a]
myFunc n list = foldl func [] list
where
func x y | (length y) > n = x : y
| otherwise = y
Run Code Online (Sandbox Code Playgroud)
产生错误:
*** Expression : foldl func [] list
*** Term : func
*** Type : a -> [a] -> …Run Code Online (Sandbox Code Playgroud)