Hi all,

new forum member here. Please be forgiving.

I think I discovered an inconsistency in CountTable. I couldn't find a way to 
delete a key (no del() implementation?!), so instead I set its value to 0 as 
recommended in [this Stackoverflow 
Post](https://stackoverflow.com/questions/59160984/remove-key-from-counttable-in-nim/59172084?noredirect=1#comment104573660_59172084).
 While the key now disappears from keys() it's still accounted for in len().

Crude example:
    
    
    import tables
    
    let myString = "abracadabra"
    var letterFrequencies = toCountTable(myString)
    
    echo "BEFORE set 0"
    echo letterFrequencies
    echo "len ", len(letterFrequencies)
    for k, v in letterFrequencies.pairs():
      echo k, ":", v
    
    echo "AFTER set 0"
    letterFrequencies['a'] = 0
    echo letterFrequencies
    echo "len ", len(letterFrequencies)
    for k, v in letterFrequencies.pairs():
      echo k, ":", v

Output:
    
    
    BEFORE set 0
    {'a': 5, 'b': 2, 'c': 1, 'd': 1, 'r': 2}
    len 5
    a:5
    b:2
    c:1
    d:1
    r:2
    AFTER set 0
    {'b': 2, 'c': 1, 'd': 1, 'r': 2}
    len 5
    b:2
    c:1
    d:1
    r:2

Is this the expected behaviour?

Many thanks,

Andreas

PS: Nim version 1.0.4

Reply via email to