On Monday, May 23, 2016 at 8:10:47 PM UTC-5, Phil Virgo wrote: > > I just starting to try and teach myself Clojure. Kindly let me know if > there is a more appropriate place I should post simple questions. >
This is fine! You might also enjoy the #beginners room on the http://clojurians.net/ Slack for live chat. > > > (def s '(1 1 1 4 99) > > (take-while #(= (first s) %) s) ; works fine: (1 1 1) > > (take-while #(= (first %) %) s) ; IllegalArgumentException Don't know > how to create ISeq from: java.lang.Long clojure.lang.RT.seqFrom > (RT.java:505) > The anon function here is being invoked on the first value, which is 1 so that function becomes: #(= (first 1) 1) And the error is that (first 1) is being passed a number rather than something seqable. > > It appears as though "%" cannot be used within a nested function > Nope, that's fine. (Although you can't nest one anonymous function inside another as then it would be ambiguous what % refers to.) > - but this works > > (#(prn (+ 3 %) % ) 5) ; works fine: 8 5 > here this turns into: #(prn (+ 3 5) 5) which is fine. Hope that helps! > > Does anyone know what is the rule of statement construction being violated? > > ~thanks > -- 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.