; destructuring a vector
(let [[a b] ["cheese" "cream"]]
(println "Mix" a "with" b))
; destructuring a map
(let
[{:keys
[appliance
time]} {:appliance
"oven" :temp
180 :time 40}] (println
"Cook in" appliance
"for" time "minutes"))
(def delicious
-fish
-recipe
[["fish" "herbs"] {:appliance
"pan" :time 7}])
(println delicious-fish-recipe)
; destructure vector and map
(let
[[[a b
] {:keys
[appliance
time]}] delicious
-fish
-recipe
] (println
"Mix" a
"with" b
"and cook for" time "minutes in a" appliance
))
; same, but in a function. I do not get this working...
(def prepare
[[a b
] {:keys
[appliance
time]}] (println
"Mix" a
"with" b
"and cook for" time "minutes in a" appliance
))
(prepare delicious-fish-recipe)
OyBkZXN0cnVjdHVyaW5nIGEgdmVjdG9yCihsZXQgW1thIGJdIFsiY2hlZXNlIiAiY3JlYW0iXV0KICAgIChwcmludGxuICJNaXgiIGEgIndpdGgiIGIpKQoKOyBkZXN0cnVjdHVyaW5nIGEgbWFwCihsZXQgW3s6a2V5cyBbYXBwbGlhbmNlIHRpbWVdfSB7OmFwcGxpYW5jZSAib3ZlbiIgOnRlbXAgMTgwIDp0aW1lIDQwfV0KICAgIChwcmludGxuICJDb29rIGluIiBhcHBsaWFuY2UgImZvciIgdGltZSAibWludXRlcyIpKQoKCihkZWYgZGVsaWNpb3VzLWZpc2gtcmVjaXBlIFtbImZpc2giICJoZXJicyJdIHs6YXBwbGlhbmNlICJwYW4iIDp0aW1lIDd9XSkKCihwcmludGxuIGRlbGljaW91cy1maXNoLXJlY2lwZSkKCgo7IGRlc3RydWN0dXJlIHZlY3RvciBhbmQgbWFwCihsZXQgW1tbYSBiXSB7OmtleXMgW2FwcGxpYW5jZSB0aW1lXX1dIGRlbGljaW91cy1maXNoLXJlY2lwZV0KICAgIChwcmludGxuICJNaXgiIGEgIndpdGgiIGIgImFuZCBjb29rIGZvciIgdGltZSAibWludXRlcyBpbiBhIiBhcHBsaWFuY2UpKQoKCjsgc2FtZSwgYnV0IGluIGEgZnVuY3Rpb24uIEkgZG8gbm90IGdldCB0aGlzIHdvcmtpbmcuLi4KKGRlZiBwcmVwYXJlIFtbYSBiXSB7OmtleXMgW2FwcGxpYW5jZSB0aW1lXX1dCiAgICAocHJpbnRsbiAiTWl4IiBhICJ3aXRoIiBiICJhbmQgY29vayBmb3IiIHRpbWUgIm1pbnV0ZXMgaW4gYSIgYXBwbGlhbmNlKSkKCihwcmVwYXJlIGRlbGljaW91cy1maXNoLXJlY2lwZSkK