1
我知道由[數組名稱X]返回的名稱是未定義的順序,但他們總是在相同的未定義的順序?可預測的Tcl數組名稱響應順序?
我正在經歷一個非常大的數組,並希望在發生崩潰時將進度記錄到文件中,因此我可以重新恢復部分路徑。
PS。一個快速實驗意味着它始終是相同的「隨機」順序,但這並不意味着它是真實的!
我知道由[數組名稱X]返回的名稱是未定義的順序,但他們總是在相同的未定義的順序?可預測的Tcl數組名稱響應順序?
我正在經歷一個非常大的數組,並希望在發生崩潰時將進度記錄到文件中,因此我可以重新恢復部分路徑。
PS。一個快速實驗意味着它始終是相同的「隨機」順序,但這並不意味着它是真實的!
簡短的回答是,你不能依賴命令,你最好的選擇是[lsort [數組名稱X]]並使用該命令。
長的答案是,只要鍵是相同的(和它的Tcl版本相同),順序應該是穩定的......但我仍然不會依賴它。
如果您使用的是Tcl 8.5或更高版本,您可能需要查看使用Dict而不是數組。 Dict元素的順序是它們被添加的順序。
Agh - 8.4! 非常感謝。 – Cormac 2009-06-16 08:49:55