2013-01-07 81 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 –

相關問題