Ich finde, dass ich häufig Werte an Wörterbuchlisten anhängen möchte, aber nur, wenn der Wert nicht bereits in der Liste ist. Deshalb versuche ich dies in einem Verfahren zu trennen, und ich kann nicht herausfinden, warum der folgende Code führt dies nicht erreichen:Wert nur dann zum Dictionary-Schlüssel hinzufügen, wenn dieser noch nicht vorhanden ist
proc DictAdd {_dictionary key value} {
upvar 1 $_dictionary dictionary
if { $value ni [dict get $dictionary $key] } {
dict lappend dictionary $key $value
}
}
Aufruf dieser Prozedur gibt den folgenden Fehler:
can't read "dictionary": no such variable
while executing
"dict get $dictionary $key"
(procedure "DictAdd" line 5)
invoked from within
"DictAdd $files baseline $fileName"
(procedure "getFilesToLoad" line 53)
invoked from within
...
Könnte mir bitte jemand sagen, was ich hier falsch mache? Vielen Dank.
Versuchen Sie, die $, bevor Dateien zu entfernen: DictAdd Dateien Baseline $ Dateiname. –