(def tmp = [ 1 2 3 9 4 8])
I’m trying to create pairs of 2, then for each pair, subtract the second number from the first.
desired result: (1 6 4)
Here is what I was trying:
(map #(apply - %2 %1) (partition 2 tmp))
how can I do this?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Partition produces a sequence of sequences so the function you map over them needs to expect a sequence of two items. There are several ways to express this:
The version using apply is different because it will still “work” on odd length lists:
The others will crash on invalid input, which you may prefer.