Its for defining look variables (constants) that you use more then once in your form and not have to write it more then once (or calculated it more then once) (let [r1 (random-int) r2 (random-int)] (when (the-same? r1 r2) (str r1 " and " r2 " are the same"))
Write this without let (when (the-same? (random-int) (random-int)) (str (random-int) " and " (random-int) " are the same")) does this work? Of course not and thats one reason for let. Also it can make your code cleaner. (filter even? (take 10 (drop 10 (map inc (iterate inc 1))))) ;stuff like this can get long (let [N-plus-one (map inc (iterate inc 1)) my-range (take 10 (drop 10 N-plus-one))] (filter even? my-range)) You can do destructoring in the binding block. http://clojure.org/special_forms (search destructoring) Thats just some stuff, but as soon you have done some stuff yourself it will become clear. On 26 Aug., 17:02, HB <hubaghd...@gmail.com> wrote: > Hey, > Basically, I understand what let form does but I'm not sure when to > use it. > Would you please enlighten me about it? (if possible some typical Java > code and then covert it to Clojure let form). > I really appreciate your time and help. > 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