haskell - Recursive function of a list -
i'm little confused recursive function on haskell, can explain me better ?
cut [] = ([],[]) cut (x:[]) = ([x],[]) cut (x:y:l) = let (xs,ys) = cut l in (x:xs,y:ys)
p.s. : "let...in" part confusing me lot !
haskell let
has following syntax: let <bindings> in <expression>
so create bindings , use in expression.
example:
λ> let = 3 in + 3 6
the type of cut
function cut :: [a] -> ([a], [a])
.
so, function cut
returns tuple of type ([a],[a])
, pattern matched in let
expression of cut function. variable xs
pattern matched first element of tuple i.e [a] , next variable ys
pattern matched second element of tuple list.
Comments
Post a Comment