使用库函数,定义一个函数halve :: [a]→([a],[a]) 将一个偶数长度的列表分成两半。例如:haskell的一半功能
> halve [1, 2, 3, 4, 5, 6]
([1, 2, 3], [4, 5, 6])
到目前为止我有什么是
halve :: [a] -> ([a],[a])
halve = (\xs -> case xs of
[] -> ([],[])
xs -> take ((length xs) `div` 2) xs)
,它是错误的,因为XS - >取((长x)div
2)仅XS显示列表的前半部分..请帮助我继续下去,以便它显示列表的后半部分。
http://hackage.haskell.org/package/base-4.8.1.0/docs/Prelude.html#v:splitAt – interjay
它得到正确上半年'take',但也许你需要它的对手'drop'。 – Mephy
相关:http://stackoverflow.com/questions/27090347/haskell-novice-trouble-with-splitting-a-list-in-half – Jubobs