У меня есть набор объектовКак получить измененный набор после обновления элемента для определенного ключа?
(def books #{{:isbn 1 :title "Programming Clojure"}
{:isbn 2 :title "Joy of Clojure"}
{:isbn 3 :title "Clojure in Action"}})
Как я обновить объект, имеющий данный ключ (: ISBN) и вернуть измененный набор?
(??? books :isbn {:isbn 1 :title "Programming Clojure" :author "Halloway"})
В Java, равенство можно определить с помощью isbn, и элемент может быть непосредственно добавлен в Set. Каков идиоматический способ сделать это в Clojure?
Что вы подразумеваете под "Given key"? В вашем примере у вас есть набор, содержащий три карты. В вашем желаемом примере использования вы передаете набор и новую карту ... но на самом деле это не ключ. Вы хотите обновить карту с помощью:: isbn' из 1? – djhworld
Отредактировано для обновления: isbn – Sathish
Мне интересно, может ли структура данных быть улучшена, чтобы отразить это: isbn должен быть уникальным. –