2011-12-01 45 views

回答

7

据我所知,没有办法从数组中获取元素的顺序返回到它们添加的顺序,而无需自己跟踪插入顺序。获得所需行为的最佳方法是转向使用字典而不是数组。字典确实保留了插入的顺序,并且作为奖励,当你将它们传入或传出特效时,它们更适合使用。

+0

这是Tcl文档有些欠缺的情况之一。我无法找到任何可以做到这一点的方式,但如果“数组”的文档说该顺序是依赖于实现或某事的话,那将会很好。无论如何,你的回答与我的阵列经验相符。 –

+3

+1:数组使用的散列表的实现根本不能维持顺序,而且细节非常复杂,因此“随机重新排序”是一个非常简单的解释。口号确实是替代品,它们具体地维持插入顺序;它有保证。 –