的INITIAL_ARRAY
是如何根據鍵值對TCL數組進行排序?
Key -> Value
B 8
C 10
A 5
E 3
D 1
要基於鍵得到一個有序數組,我用
set sorted_keys_array [lsort [array names INITIAL_ARRAY]]
得到輸出
Key -> Value
A 5
B 8
C 10
D 1
E 3
像明智的,如何讓一個有序TCL數組基於的值爲的鍵,如下面的輸出?
Key -> Value
C 10
B 8
A 5
E 3
D 1
最後一行應該替換爲 ** set result [lsort -integer -index 1 $ x] ** 因爲「lsort」產生新列表而不是改變現有列表。 – mkostya
@mkostya,我演示了這個想法,而不是一個完整的程序。此外,還有一些合理的情況是隻使用一個命令的返回值而不將它分配給一個變量 - 例如,你可以在第二個例子中包裝一個'proc'主體,並且該proc將返回任何'lsort'返回的結果。 – kostix