Associative-array .remove method returns void for non-existent keys

Andrej Mitrovic andrej.mitrovich at gmail.com
Tue Jul 27 13:40:42 PDT 2010


I screwed up the title, it returns void for both existent and non-existent keys.

Andrej Mitrovic Wrote:

> In TDPL page 116, for the associative method .remove it states:
> 
> "The remove method returns a bool that is true if the deleted key was in the associative array, or false otherwise"
> 
> In this example the .remove method will return void regardless if the key was found or not:
> 
> import std.stdio;
> 
> void main() {
>     int[string] array = ["test":0, "test2":1];
>     
>     bool found = array.remove("test");
>     bool notfound = array.remove("nothing");
> }
> 
> Errors:
> assoc_test.d(6): Error: expression array TOK44 "test" is void and has no value
> assoc_test.d(7): Error: expression array TOK44 "nothing" is void and has no value



More information about the Digitalmars-d mailing list