ソートされたマップを保持するフィールドが 1 つしかないデータ型があるとします。
(defrecord AdjacencyList [data])
(def adjacency-list (AdjacencyList. (sorted-map 1 {2 100}, 2 {3 -100})))
ここで、フィールドを操作してその型を保持したい場合は、次のようにする必要があります。
(AdjacencyList. (dissoc (:data adjacency-list) 2))
レコードを呼び出してフィールドを参照する方法はありますか?
(dissoc adjacency-list 2)
通常のハッシュ マップが必要な場合は、レコードのマップ実装を使用できますが、ソートされたマップが必要であり、セットとベクトルを使用して他の同様のデータ型を取得しました。
解決策は、代わりに deftype を使用し、必要なデータ構造を自分で実装することですが、それが必要ないことを望んでいました。