Juan-Carlos Gandhi (
juan_gandhi) wrote2010-01-29 08:30 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
how to say in Haskell...
pairwise :: [a] → [(a, a)]
pairwise [] = []
pairwise (x:y:rest) = (x,y) : pairwise rest
is there something that does it already? Could not figure out.
pairwise :: [a] → [(a, a)]
pairwise [] = []
pairwise (x:y:rest) = (x,y) : pairwise rest
no subject
pairwise lst = takeNth 2 $ zip lst (tail lst)
no subject
no subject
Это самое takeNth может ещё где-то потребоваться.
no subject
На той же идее
takeNth n lst = map fst $ filter (\(x,t)-> t == 1) $ zip lst $ cycle [1..n]
Но по-моему, это уже извраты,
которые непонятно, для чего нужны,
кроме как, сэкономить лишнюю строчку.
Лучше писать тупо и понятно,
потом свой же код проще смотреть.