Tcl:生成循环(*)

时间:2015-06-12 10:57:06

标签: tcl

我想在Tcl中生成一个循环,如果n = 2则创建:

set Beam_Gravity_Load [subst {$a $b}]

如果n = 3:

set Beam_Gravity_Load [subst {$a $a $b}]

如果n = 4:

set Beam_Gravity_Load [subst {$a $a $a $b}]

如果n = 5:

set Beam_Gravity_Load [subst {$a $a $a $a $b}]

等等。 " N"总是大于2.我该怎么做?!

1 个答案:

答案 0 :(得分:0)

您正在寻找的是lrepeat{*}

的结合
set Beam_Gravity_Load [list {*}[lrepeat [expr {$n-1}] $a] $b]

您也可以使用for

set value {}
for {set i 1} {$i < $n} {incr i} {
    lappend value $a
}
lappend value $b
set Beam_Gravity_Load $value

(如果未链接/跟踪Beam_Gravity_Load变量,则可以避免使用额外的value变量。)