2009-06-15 22 views
1

我知道由[數組名稱X]返回的名稱是未定義的順序,但他們總是在相同的未定義的順序?可預測的Tcl數組名稱響應順序?

我正在經歷一個非常大的數組,並希望在發生崩潰時將進度記錄到文件中,因此我可以重新恢復部分路徑。

PS。一個快速實驗意味着它始終是相同的「隨機」順序,但這並不意味着它是真實的!

回答

5

簡短的回答是,你不能依賴命令,你最好的選擇是[lsort [數組名稱X]]並使用該命令。

長的答案是,只要鍵是相同的(和它的Tcl版本相同),順序應該是穩定的......但我仍然不會依賴它。

如果您使用的是Tcl 8.5或更高版本,您可能需要查看使用Dict而不是數組。 Dict元素的順序是它們被添加的順序。

+0

Agh - 8.4! 非常感謝。 – Cormac 2009-06-16 08:49:55