ŹR
Size: a a a
ŹR
AB
SP
update(Replacement) ->
Current = ets:tab2list(..),
CurKeys = sets:from_list(keys(Current)),
NewKeys = sets:from_list(keys(Replacement)),
ToDeleteKeys = sets:subtract(CurKeys, NewKeys),
ets:insert(.., Replacement),
[ets:delete(.., Key) || Key <- sets:to_list(ToDeleteKeys)].
ŹR
ŹR
PG
ŹR
AB
PG
ŹR
SP
update(Replacement) ->
Current = ets:tab2list(..),
CurKeys = sets:from_list(keys(Current)),
NewKeys = sets:from_list(keys(Replacement)),
ToDeleteKeys = sets:subtract(CurKeys, NewKeys),
ets:insert(.., Replacement),
[ets:delete(.., Key) || Key <- sets:to_list(ToDeleteKeys)].
ŹR
ŹR
SP
ŹR
ŹR
ŹR
RA
PG