一個新的字典,我想編寫一個PROC它可以接受字典作爲optional argument或者如果沒有被賦予新創建的。我的嘗試,但是,失敗如何設置默認值的參數proc是Tcl的
的說法符太多的領域 「詞典[字典創建]」
proc getOpts { {dictionary [dict create]} } {
upvar $dictionary dct
for { set i 0 } { $i < $::argc } { incr i } {
set key [lindex $::argv $i]
if { [string index $key 0] == "-" } {
incr i
dict set dct [string trimleft $key "-"] [lindex $::argv $i]
} else {
dict set dct $key ""
}
}
}
由於dictionaries are pure values,我想這可能是工作。看起來我可能錯了。不過,我想知道爲什麼它不起作用。
只需使用{}。但你的upvar不會工作。 –