я определил несколько типов следующим образом:Изменить элемент в карте
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)
Однако, удаление и добавление элемент выглядит излишним для меня ... Может ли сказать мне, если есть лучший способ непосредственно изменить его?
Вам не нужно, чтобы удалить его, если добавить существующий ключ, он будет заменен. – snf