次のようにいくつかのタイプを定義しました。
module SMap = Map.Make(String)
type s =
{ t: int
fa: int list }
type t = s SMap.t
に対応する要素のリストmodify
に追加する関数を書きたいと思います。次のコードが機能します。100
fa
key
let modify (key: String) (x: t) =
let a = SMap.find key x in
SMap.add key { a with fa = a.fa @ [100] } (SMap.remove key x)
ただし、要素の削除と追加は冗長に見えます...直接変更するより良い方法があるかどうか教えてください。