0

ソートされたマップを保持するフィールドが 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 を使用し、必要なデータ構造を自分で実装することですが、それが必要ないことを望んでいました。

4

1 に答える 1