使用zip、unzip、fst和list构造创建我自己的take实现



我需要从haskell中的列表中获取前n个元素,但我不能使用take函数。在下面的示例中,我需要使用zip、unzip、fst和list构造来替换"take"。我真的很挣扎,有什么建议吗?

main = do
let result = takeFirstN "test" 2
putStrLn(result)
takeFirstN list nth = do
take nth list

非常感谢!

经过一段时间的睡眠和阅读您的指针,我找到了一个解决方案。

main =
do
print (takeFirstNth "test" 3)
takeFirstNth list nth = fst (unzip (zip list [1..nth]))

感谢你朝着正确的方向推动:(

最新更新