; 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 .
( defn prepare
[ [ [ a b
] { : keys
[ appliance
time ] } ] ] ( println
"Mix" a
"with" b
"and cook for" time "minutes in a" appliance
) )
( prepare delicious- fish- recipe)
OyBkZXN0cnVjdHVyaW5nIGEgdmVjdG9yCihsZXQgW1thIGJdIFsiY2hlZXNlIiAiY3JlYW0iXV0KICAgIChwcmludGxuICJNaXgiIGEgIndpdGgiIGIpKQoKOyBkZXN0cnVjdHVyaW5nIGEgbWFwCihsZXQgW3s6a2V5cyBbYXBwbGlhbmNlIHRpbWVdfSB7OmFwcGxpYW5jZSAib3ZlbiIgOnRlbXAgMTgwIDp0aW1lIDQwfV0KICAgIChwcmludGxuICJDb29rIGluIiBhcHBsaWFuY2UgImZvciIgdGltZSAibWludXRlcyIpKQoKCihkZWYgZGVsaWNpb3VzLWZpc2gtcmVjaXBlIFtbImZpc2giICJoZXJicyJdIHs6YXBwbGlhbmNlICJwYW4iIDp0aW1lIDd9XSkKCihwcmludGxuIGRlbGljaW91cy1maXNoLXJlY2lwZSkKCgo7IGRlc3RydWN0dXJlIHZlY3RvciBhbmQgbWFwCihsZXQgW1tbYSBiXSB7OmtleXMgW2FwcGxpYW5jZSB0aW1lXX1dIGRlbGljaW91cy1maXNoLXJlY2lwZV0KICAgIChwcmludGxuICJNaXgiIGEgIndpdGgiIGIgImFuZCBjb29rIGZvciIgdGltZSAibWludXRlcyBpbiBhIiBhcHBsaWFuY2UpKQoKCjsgc2FtZSwgYnV0IGluIGEgZnVuY3Rpb24uCihkZWZuIHByZXBhcmUgW1tbYSBiXSB7OmtleXMgW2FwcGxpYW5jZSB0aW1lXX1dXQogICAgKHByaW50bG4gIk1peCIgYSAid2l0aCIgYiAiYW5kIGNvb2sgZm9yIiB0aW1lICJtaW51dGVzIGluIGEiIGFwcGxpYW5jZSkpCgoocHJlcGFyZSBkZWxpY2lvdXMtZmlzaC1yZWNpcGUpCg==