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

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


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