Thanks, Roelof
Op dinsdag 6 mei 2014 17:11:52 UTC+2 schreef James Reeves: > You have a number of typos, syntax errors and missing brackets in your > source code. It should be: > > (defn nth* [coll number] > (loop [coll coll, acc 0] > (if (= acc number) > (first coll) > (recur (next coll) (+ acc 1))))) > > Additionally, you're using an unquoted list to test. Use a vector or quote > the list: > > (nth* [1 2 3 4 5] 2) > > - James > > > On 6 May 2014 16:05, Roelof Wobben <rwo...@hotmail.com <javascript:>>wrote: > >> I tried this problem again. >> >> So I did this: >> >> (defn nth* [coll, number] >> (let [acc 0] >> (loop [coll coll acc] >> (if == acc number)) >> (first coll) >> (recur (next coll) (+acc 1 )) >> >> but when I do : >> (nth* (1,2,3,4,5)2)) I see a cannot cast error message. >> >> Is this because Clojure cannot figure out what the coll and what the >> number is ? >> >> Roelof >> >> >> >> Op woensdag 30 april 2014 12:53:01 UTC+2 schreef James Reeves: >> >>> On 30 April 2014 11:41, Roelof Wobben <rwo...@hotmail.com> wrote: >>>> >>>> >>>> Op woensdag 30 april 2014 12:14:39 UTC+2 schreef James Reeves: >>>>> >>>>> >>>>> Consider how you might add a counter to the loop. You'll want to >>>>> increment the counter, then stop when it reaches the desired number. >>>>> >>>> >>>> >>>> So without checking it so out of my head I would do this >>>> >>>> (defn last* [coll, number] >>>> (loop [coll coll] >>>> (if == counter number)) >>>> (first coll) >>>> (recur (next coll) (+counter 1 )) >>>> >>> >>> Essentially yes. You need to initiate the counter to zero, and you still >>> need a condition to make sure you don't go past the end of the seq (in case >>> n is more than the length of the list), but you've basically got it. >>> >>> - James >>> >> > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.