How to solve longEnough?. In Haskell -
longenough n xs: checks if list has more n elements.
examples:
longenough 2 [1..5] == truelongenough 3 [1,2,3] == falselongenough 0 [] == falselongenough 20 [1..] == true
i guess homework , still learning basics i'll start giving hints using recursion instead of foldr (as @dfeuer proposed):
first start noting obvious cases:
- if 
xs = []resultfalse(assuming don't care negativenin strange ways) - if 
n = 0,xsnon-empty it'strue - in other cases have  
n > 0xshas more 1 element
 
maybe have recursive idea break last case down?
here skeleton:
longenough :: int -> [a] -> bool longenough _ []     = false longenough 0 _      = true longenough n (_:xs) = let n' = (n-1) in undefined   for cases - if look closely you'll see added more hints on solution.
ps
- maybe want think negative 
n, should happen ... did not here - if know 
foldrshould try implement usingfoldrtoo 
solution
seems there no more feedback coming op guess can post solution start with:
longenough :: int -> [a] -> bool longenough _ []     = false longenough 0 _      = true longenough n (_:xs) = longenough (n-1) xs   (not left do...)
here mentioned test-cases:
λ> longenough 2 [1..5] true λ> longenough 3 [1,2,3] false λ> longenough 0 [] false λ> longenough 20 [1..] true      
Comments
Post a Comment