仅显示tcl列表的最后三项

Raj*_*war 2 tcl

我目前使用以下方式遍历tcl列表

foreach  i  $listname  {
    puts $i
}
Run Code Online (Sandbox Code Playgroud)

我怎么才能只显示列表的最后三项?在c ++中我会做这样的事情

for( int i = listname.size()-1; i>=0;i--)
{
}
Run Code Online (Sandbox Code Playgroud)

and*_*ngo 5

你可以在Tcl中做类似的事情.您可以使用它llength来确定列表中的项目数,然后设置一个for带有计数器变量的循环,并用于lindex获取您感兴趣的项目.

在我的头顶,我会写:

foreach item [lrange $listname end-2 end] {
    puts $item
}
Run Code Online (Sandbox Code Playgroud)

这用于lrange创建一个新列表,该列表是另一个列表的一部分,并使用这样的事实,即给定的索引lrange可以是符号的,并且在其中具有简单的算术来选择所需的列表元素.