bearophile wrote:
Andrei Alexandrescu:

I'll make aa.remove(key) always work and return a bool that tells you whether there was a mapping or not.

I think that's a small design mistake. In a high level language you want things 
to not fail silently. You want them to fail in an explicit way because 
programmers often forget to read and use return values.

So AAs may have two methods, "remove" and "drop" (Python sets use "remove" and "discard" for this). 
The "remove" can be the safer one and used by default in D programs (especially in SafeD modules, safety is in things like this 
too), that raises an exception when you try to remove a missing key. "drop/discard" is faster and silent, it removes the key if 
it's present, as you want.

Bye,
bearophile

I agree with this. I usually want exceptions.

Reply via email to