Thanks all persons for the help and patience with me. Roelof
Op maandag 27 oktober 2014 22:23:50 UTC+1 schreef James Reeves: > Right. It's similar to writing: > > (def x 5) > > (= #{x} #{5}) > > You'd expect that to be true, right? > > > When Clojure comes across an unquoted symbol (like x or octavia), it tries > to evaluate it, replacing it with the value it represents. > > In a similar way, unquoted lists (anything in parentheses) are also > evaluated as functions, macros or special forms. > > So: (= #{x} #{5}) > > Becomes: (= #{5} #{5}) > > Becomes: true > > - James > > On 27 October 2014 21:16, Roelof Wobben <rwo...@hotmail.com <javascript:>> > wrote: > >> Np, So if I understand it right. I see the first one in repl. >> Because midje has #{octavia} and in another function is stated : >> >> (def octavia {:name "Octavia E. Butler" >> :birth-year 1947 >> :death-year 2006}) >> >> >> clojure makes from the first {octavia} the second {:name "Octavia E. >> Butler" :birth-year 1947 :death-year 2006}) >> so that is why there are both the same. >> >> Roelof >> >> >> >> Op maandag 27 oktober 2014 22:09:04 UTC+1 schreef James Reeves: >> >>> Sorry, I misplaced a couple of brackets: >>> >>> (= {:title "Wild Seed", :authors #{{:name "Octavia E. Butler", >>> :birth-year 1947, :death-year 2006}}} >>> {:title "Wild Seed", :authors #{octavia}}) >>> >>> That should work. >>> >>> - James >>> >>> On 27 October 2014 20:20, Roelof Wobben <rwo...@hotmail.com> wrote: >>> >>>> nope, there is somewhere a error in the example. >>>> >>>> When I copie it as you made it then I see this error message : >>>> RuntimeException Unmatched delimiter: } clojure.lang. >>>> Util.runtimeException (Util.java:219) >>>> when I add a extra ) I see this message : >>>> RuntimeException Map literal must contain an even number >>>> of forms clojure.lang.Util.runtimeException (Util.java: >>>> 219) >>>> >>>> >>>> Roelof >>>> >>>> >>>> Op maandag 27 oktober 2014 20:46:49 UTC+1 schreef James Reeves: >>>> >>>>> On 27 October 2014 19:37, Roelof Wobben <rwo...@hotmail.com> wrote: >>>>> >>>>>> of course I can. >>>>>> >>>>>> If I look at answers other people gives then this is the solution : >>>>>> >>>>>> (defn old-book->new-book [book] >>>>>> (assoc book :authors (set (book :authors))) >>>>>> ) >>>>>> >>>>>> and then according to the explanation I would see this output ; >>>>>> >>>>>> (old-book->new-book {:title "Wild Seed", :authors [octavia]});=> {:title >>>>>> "Wild Seed", :authors #{octavia}} >>>>>> >>>>>> but on 1.6.0 and on 1.5.1 I see another output as discussed here. >>>>>> >>>>>> >>>>> I don't think you're understanding that: >>>>> >>>>> {:title "Wild Seed", :authors #{{:name "Octavia E. Butler", :birth-year >>>>> 1947, :death-year 2006}}} >>>>> >>>>> Evaluates to the same thing as: >>>>> >>>>> {:title "Wild Seed", :authors #{octavia}} >>>>> >>>>> The difference is that in the first value, "octavia" has been replaced >>>>> with its value. >>>>> >>>>> You can confirm the two data structures are the same by checking their >>>>> equality: >>>>> >>>>> (= {:title "Wild Seed", :authors #{{:name "Octavia E. Butler", >>>>> :birth-year 1947, :death-year 2006}} >>>>> {:title "Wild Seed", :authors #{octavia}}} >>>>> >>>>> This should return true. >>>>> >>>>> - 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.