Thanks for the explanation. For a beginner enough to learn Roelof
Op woensdag 7 oktober 2015 21:02:00 UTC+2 schreef Moe Aboulkheir: > Roelof, > > As you noted, reverse doesn't preserve the variety of collection which was > passed in - it returns a sequence. (into A B) appends the items in B onto > A, and will return a collection of the same type as A. (empty A) returns a > collection of the same type as A, with no items in it. So with (into > (empty A) (reverse A)) we're saying "give me a sequence containing the > items in A in reverse order, then conjoin them onto an empty collection > having the same type as A". > > References: > - https://clojuredocs.org/clojure.core/empty > - https://clojuredocs.org/clojure.core/into > > Take care, > Moe > > On Wed, Oct 7, 2015 at 7:33 PM, Roelof Wobben <wobben...@gmail.com > <javascript:>> wrote: > >> Thanks , that did the trick. >> >> Apperent; string/reverse works different from reverse >> >> One question : what does into do and does (empty x) means if x is empty >> or do you make a empty copy of x. >> >> Roelof >> >> >> Op woensdag 7 oktober 2015 20:07:00 UTC+2 schreef Moe Aboulkheir: >>> >>> Roelof, >>> >>> Something like this: >>> >>> (defn palindrome [x] >>> (if (string? x) >>> (clojure.string/reverse x) >>> (into (empty x) (reverse x)))) >>> >>> Alternatively, you may want to consider explicitly using seq on your >>> inputs when you get them, and using that of the basis of comparison & input >>> to reverse. If you don't actually care about the concrete sequence type >>> (i.e. you only want sensible equality semantics after reversing something), >>> dropping it as soon as possible may be a better strategy. >>> >>> Take care, >>> Moe >>> >>> On Wed, Oct 7, 2015 at 6:51 PM, Roelof Wobben <wobben...@gmail.com> >>> wrote: >>> >>>> Hello, >>>> >>>> I try to solve a problem for 4clojure where I have to make a >>>> palingdrome detector. >>>> >>>> So for trying I did this : >>>> >>>> (ns fourclojure.core >>>> (:gen-class)) >>>> >>>> >>>> (defn palingdrome [string] >>>> ( reverse string)) >>>> >>>> (apply str (palingdrome '( 1 2 3) )) '321' >>>> (apply str (palingdrome "Roelof" )) "foleoR" >>>> >>>> (defn palingdrome2 [string] >>>> ( reverse string)) >>>> >>>> (palingdrome2 '( 1 2 3) ) ( 3 2 1 ) >>>> (palingdrome2 "Roelof" ) (\f \o \l \e \o \R) >>>> >>>> So it works for a map or for a string. >>>> >>>> Is there a way I can make it work for both ? >>>> >>>> Roelof >>>> >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@googlegroups.com >> <javascript:> >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com <javascript:> >> 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+u...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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.