1

我是 TCL 新手,一直在自己练习。现在,我正在阅读 TCL 中的数组,并且正在尝试反转数组。数组 TestArr 是

Zero Orange
First Apple
Second Banana

所以,基本上我想成功

Zero Banana
First Apple
Second Orange

但是,我找不到找到第一个元素的索引或最后一个元素的索引的方法,因为 using foreach {index value} [array get TestArr]将返回无序的索引值。

C++ 代码将是:

 for(int i=0;i>end;end--,i++)
 {
    int temp = TestArr[i];
    TestArr[i] = TestArr[j];
    TestArr[j] = temp;
 }

TCL有什么办法可以做到这一点吗?

4

1 回答 1

3

在 TCL 中,“数组”实际上是hash mapperl 中的 a 或std::mapC++ 中的 a 或dictpython 中的 a。因此它们是无序的,因此重新排序它们没有意义。

您真正想要的list在 TCL 中称为 a 。并且调用了反转列表的功能lreverse

TCL清单文件

lreverse文件

从下面的评论:

lreverse在 8.5 中添加。在 8.4 中,自己编写代码如下:for {set i [llength $lst]} {[incr i -1] >= 0} {} {lappend reversed [lindex $lst $i]}-- Donal Fellows

于 2012-07-16T03:24:54.550 回答