Up until now, I have been using the Map as a Set (i.e. non-null key, null value). And it works perfectly fine for operations like put, remove, size.
But in a map.merge()
operation, entries with NIL values are removed in the final output. For example:
map1 = {"Peter":NIL, "Jane":NIL}
map2 = {}
map3 = map.merge(map1, map2, function(v1, v2) return v1 end)
In the above case, map3
is an empty map.
If null-value entries are valid in all the other operations (put, remove, size), I think these entries should survive a merge operation.
For now, a temporary solution is to use a dummy value like "0"
in place of nil
so entries will survive a merge. But I thought it would be good for others to know.