2013-01-07 44 views
1
set mac_list "" 
set new_mac_list "1111.1111.1111 2222.2222.2222 3333.3333.3333 4444.4444.4444" 
lappend mac_list [lrange new_mac_list $i end] 

我值总是3在这点在我的脚本 概念我一直想在我的mac_list从LINDEX 3 new_mac_list列表MAC_ADDRESSlappending一系列列表的另一个列表

它正常工作时我有4个mac地址在上面new_mac_list ,但是当new_mac_list有少于4个mac地址,我得到{}值到我的mac_list ,当new_mac_list有超过4个mac地址时,我将剩下的所有列表元素作为mac_list中的一个元素。 。

+0

注意列表索引是从零开始的,所以你的榜样,在指数3的值是“4444.4444.4444”。如果您的列表少于4个元素,则从索引3到结尾的范围为空。 –

回答

4

这就是你追加多个元素(tcl8.5 +)的方法:

lappend mac_list {*}[lrange $new_mac_list $i end] 

旧TCL将需要

set mac_list [concat $mac_list [lrange $new_mac_list $i end]] 
+0

tnx它的工作原理,但不明白第一个(tcl8.5)是如何工作的? {*}究竟是什么意思? –

+0

{*}将列表拼接到命令中。有关详情,请参阅提示293:http://www.tcl.tk/cgi-bin/tct/tip/293 –

相关问题