On Thu, May 19, 2011 at 6:16 PM, siyu798 <siyu...@gmail.com> wrote: > On Thursday, May 19, 2011 4:38:17 PM UTC-4, Ken Wesson wrote: >> On Thu, May 19, 2011 at 12:52 PM, siyu798 <siy...@gmail.com> wrote: >> > (set/difference doors opened-door picked-door) >> >> Shouldn't that be wrapped in (first ...) or something? > > do you mean wrap the returned picked-door set in (first ...)? Since this > is a three doors scenario so there should always be one door left to switch > to, thus no need to use first.
There's a difference between :a and #{:a}, though, and it will cause the switch case to never win since if prize-door is :a and picked-door ends up #{:a} they won't compare equal. > For some reasons I always have the impression that it's not idiomatic to use > chained let form like the play fn here, is there a more idiomatic way to > write this code? AFAIK there is nothing whatsoever wrong with using chained let. It's "procedural-ish" but it is still functional (immutable locals and all that), often clearer than a densely-nested expression (not to mention when some of the bound values get used more than once), and perhaps most importantly, it works just fine in practice. -- Protege: What is this seething mass of parentheses?! Master: Your father's Lisp REPL. This is the language of a true hacker. Not as clumsy or random as C++; a language for a more civilized age. -- 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