Problem with AAs and ?:
    bearophile 
    bearophileHUGS at lycos.com
       
    Sat Mar  8 07:01:13 PST 2008
    
    
  
Can someone explain me where such difference comes from?
Is this a bug?
import std.stdio: writefln;
void main() {
    string[] words = ["how", "are", "you", "are"];
    int[string] aa1;
    foreach (w; words)
        aa1[w] = ((w in aa1) ? (aa1[w] + 1) : 2);
    writefln(aa1); // Prints: [how:1,you:1,are:2]
    int[string] aa2;
    foreach (w; words)
        if (w in aa2)
            aa2[w]++;
        else
            aa2[w] = 2;
    writefln(aa2); // Prints: [how:2,you:2,are:3]
}
Bye,
bearophile
    
    
More information about the Digitalmars-d-learn
mailing list