; 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)