只打印那些满足豁免文件中条件的变量



我想在豁免文件(fh(中打印满足条件的某些vdd和ground,并在豁免文件中打印。

*set matrix_waiver($pwr_name,$gnd_name) 1
if { [info exists matrix_waiver] } {
foreach power $pwr_name {
if { [info exists matrix_waiver($power) ] } {
lappend matrix_waiver $fh_waiver
}
}
foreach ground $gnd_name {
if { [info exists matrix_waiver($ground) ] } {
lappend matrix_waiver $fh_waiver
}
}
}*

没有得到所需的输出。。上面的代码有什么错误?

您的问题是将变量(matrix_waiver(用作简单变量和关联数组。这是行不通的(好吧,除非变量是介于两者之间的unset,我认为你不想这样做(。两者在Tcl中有根本不同(它们是两种主要类型的变量;第三种是链接,用于实现globalupvar,通常可以忽略这一点(。

如果实际数据(您没有向我们展示(是一个简单的变量,其中可能仍然包括复杂的结构,如列表和字典,那么您将不得不使用lindexlsetlappend等来处理它

如果实际数据是一个关联数组,则在执行lappend等操作时需要提供正确的元素名称

最新更新