2013-07-25 7 views
1

я определил несколько типов следующим образом:Изменить элемент в карте

module SMap = Map.Make(String) 

type s = 
    { t: int 
    fa: int list } 

type t = s SMap.t 

Я хотел бы написать функцию modify100 добавить в список 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) 

Однако, удаление и добавление элемент выглядит излишним для меня ... Может ли сказать мне, если есть лучший способ непосредственно изменить его?

+2

Вам не нужно, чтобы удалить его, если добавить существующий ключ, он будет заменен. – snf

ответ

Смежные вопросы