2013-01-07 3 views
0

2와 같은 모든 조합을 만들고 싶지만 작동하지 않는 것 같습니다.TCL에서 foreach를 사용하여 두 요소의 모든 조합을 만드는 방법

여기에 뭔가가 있습니까?

foreach swt "$Agg1 $Agg2" { 

     foreach acc "$Acc1 $Acc2 $Acc3" { 

     Function (swt acc) { 
     } 
    } 
} 

나는 Agg1 ACC1, Agg1 ACC2, Agg1 Acc3, Agg2 ACC1, Agg2 ACC2, 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" 
    } 
} 
관련 문제