Quellcode durchsuchen

Fixed the guaranteed-dictionary-update bug

It wasn't actually guaranteed, it turns out.  I was iterating over
dictionary keys, which is done in arbitrary order.  The result was that
in different executions of the program, the corpus was generated
differently, so the hashes differed, and the language had to be updated.
Sorting the keys before adding them to the list of number-words fixed
the problem.
Clara Hobbs vor 8 Jahren
Ursprung
Commit
557f0b60cb
1 geänderte Dateien mit 7 neuen und 7 gelöschten Zeilen
  1. 7
    7
      numberparser.py

+ 7
- 7
numberparser.py Datei anzeigen

65
 
65
 
66
     def __init__(self):
66
     def __init__(self):
67
         self.number_words = []
67
         self.number_words = []
68
-        for word in self.zero:
68
+        for word in sorted(self.zero.keys()):
69
             self.number_words.append(word)
69
             self.number_words.append(word)
70
-        for word in self.ones:
70
+        for word in sorted(self.ones.keys()):
71
             self.number_words.append(word)
71
             self.number_words.append(word)
72
-        for word in self.special_ones:
72
+        for word in sorted(self.special_ones.keys()):
73
             self.number_words.append(word)
73
             self.number_words.append(word)
74
-        for word in self.tens:
74
+        for word in sorted(self.tens.keys()):
75
             self.number_words.append(word)
75
             self.number_words.append(word)
76
-        for word in self.hundred:
76
+        for word in sorted(self.hundred.keys()):
77
             self.number_words.append(word)
77
             self.number_words.append(word)
78
-        for word in self.exp:
78
+        for word in sorted(self.exp.keys()):
79
             self.number_words.append(word)
79
             self.number_words.append(word)
80
         self.mandatory_number_words = self.number_words.copy()
80
         self.mandatory_number_words = self.number_words.copy()
81
-        for word in self.allowed:
81
+        for word in sorted(self.allowed):
82
             self.number_words.append(word)
82
             self.number_words.append(word)
83
 
83
 
84
     def parse_number(self, text_line):
84
     def parse_number(self, text_line):

Laden…
Abbrechen
Speichern