-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Description
After setting a CountTable value to 0 (in lieu of a missing del() call!?), the key appears from keys() as expected, but is still accounted for in len()
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, ":", vCurrent 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
Expected 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 4
b:2
c:1
d:1
r:2
Possible Solution
NA
Additional Information
See also https://forum.nim-lang.org/t/5639#35021 and https://stackoverflow.com/questions/59160984/remove-key-from-counttable-in-nim
$ nim -v
Nim Compiler Version 1.0.4 [Linux: amd64]
Metadata
Metadata
Assignees
Labels
No labels