2024年8月4日日曜日

clojureでupdate関数定義時の警告を回避


clojureでupdate関数を定義すると言語仕様で定義されているupdate関数と競合して警告が出ます。
update already refers to: cljs.core/update being replaced by: front.model.user/update

refer-clojureのexcludeに読み込み対象から除外したい関数を指定すると警告を回避できます。
(ns some
(:refer-clojure :exclude [update]))

(defn update []
"something")

update関数を定義しつつも言語仕様のupdate関数を使いたい場合はexcludeとrenameを併用します。
(ns some
(:refer-clojure :exclude [update] :rename {update clj-update}))

(defn update []
(-> {:a 0 :b 1}
(clj-update :a + 10)
println)
"something")

参考
refer-clojure | ClojureDocs
update | ClojureDocs

0 件のコメント :