
On 18 September 2010 17:51, Christopher Tauss
Hello Haskell Community -
I am a professional programmer with 11 years experience, yet I just do not seem to be able to get the hang of even simple things in Haskell. I am trying to write a function that takes a list and returns the last n elements.
There may be a function which I can just call that does that, but I am trying to roll my own just to understand the concept.
Let's call the function n_lastn and, given a list [1,2,3,4,5], I would like n_lastn 3 = [3,4,5]
Seems like it would be something like:
n_lastn:: [a]->Int->[a] n_lastn 1 (xs) = last(xs) n_lastn n (x:xs) = ????
The issue is I do not see how you can store the last elements of the list.
Easiest way I can think of: n_lastn n = reverse . take n . reverse Alternatively: n_lastn n xs = drop (len - n) xs where len = length xs -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com