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. 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