2013-01-07 17 views
0

我想創建2個這樣的所有組合,但似乎不起作用。如何在TCL中使用foreach創建兩個元素的所有組合

我在這裏錯過了什麼嗎?

foreach swt "$Agg1 $Agg2" { 

     foreach acc "$Acc1 $Acc2 $Acc3" { 

     Function (swt acc) { 
     } 
    } 
} 

我要像AGG1 ACC1,ACC2 AGG1,AGG1 ACC3,AGG2 ACC1,ACC2 AGG2,AGG2 ACC3所有組合被傳遞給函數。

但它似乎不適用於上述代碼。我能想到的唯一方法是創建6個代碼塊。

回答

3

您正在插入不存在的變量(推測)。拿出美元符號。

foreach swt "Agg1 Agg2" { 
    foreach acc "Acc1 Acc2 Acc3" { 
     puts "$swt $acc" 
    } 
} 

我也推薦在那裏使用大括號,雖然你可以使用引號。

foreach swt {Agg1 Agg2} { 
    foreach acc {Acc1 Acc2 Acc3} { 
     puts "$swt $acc" 
    } 
} 
相關問題