associative arrays

Jesse Phillips jessekphillips+D at gmail.com
Sun Jan 8 10:06:35 PST 2012


Based on these arguments does that mean std.file.remove should 
not be throwing when a file doesn't exist?

Or more precisely should I add a bugzilla entry to change this. I 
certainly have a lot of if(exists) remove() in my code and end up 
having to change where I just use remove().

On Sunday, 8 January 2012 at 05:03:45 UTC, Manfred Nowak wrote:
> Jonathan M Davis wrote:
>
>> So, as far as I can tell, the current situation is more 
>> efficient
>
> There are some more arguments:
>
> 1) Different threads might want to `remove' the same key from 
> the AA. I don't see a reason why only the first served thread 
> should complete the operation without an error.
>
> 2) Because there is only one operation for insertion of a key 
> into an AA, only one operation should be used for removing that 
> key.
>
> Note: This argument vanishes if insertions are divided in
> a:declaration of a key as valid in that AA,
> b:first assignment to the value of a key,
> c:reassignment to the value of a key
>
> 3) Reverse operations should not implement more functionality 
> than the reversed operation. Because `remove' is the reverse 
> operation for inserting a key and that operation does not cause 
> any error, neither should errors be given from `remove'.
>
> Note: Reassigning to the value of a key might very well treated 
> as an error.
>
> -manfred




More information about the Digitalmars-d-learn mailing list