У меня естьИзменение значения атома вектора с помощью свопа
(def data {:headers ["A" "B" "C" "D"]
:rows [["1" "2" "3" "4"] ["5" "6" "7" "8"] ["9" "10" "11" "12"]]})
И у меня есть функция
(defn replace-value [struct]
(clojure.walk/prewalk-replace {"3" "hello"} (struct :rows)))
Когда я
(replace-value @data) > [["1" "2" "hello" "4"] ["5" "6" "7" "8"] ["9" "10" "11" "12"]]
я получаю то, что я ожидал.
Однако, я хочу, чтобы достичь этого же результата, используя swap!
Так что я попытался
#(swap! data (replace-value %))
, но я получаю ошибку #object[user$eval1308$fn__1309 0x6caeefd7 "[email protected]"]
Я не знаю, что означает эта ошибка ни как разрешить его
'(своп ! replace-value) 'работает в repl, но когда я использую его кнопкой, например' [: input.btn.btn-primary {: type: button : on-click (swap! tdata replace-value) : значение «Изменить»}] 'ничего не делает – rbb