我有以下代码:如何避免斜杠炎?
proc list_backslash {} {
array unset options
array set options {
-inputs {vdd}
-outputs {vss}
}
set inputs { vdd2 vdd dvdd }
set outputs { vss2 vss dvss }
set updateOptions [ list \
-inputs $inputs \
-outputs $outputs ]
array set options $updateOptions
foreach {k v} [array get options] {
puts "$k => $v"
}
}
因为我有updateOptions
很多键值对,有一个严重的反斜杠!有没有更好的方法来做代码updateOptions
?我试过subst
+大括号{}
,并意识到它不保留列表结构,因此dooming它。
tcl中的行连续反斜杠很自然,通常不被认为是丑陋的。如果你发现你自己写了很多tcl,那么学会认为它不难看。您可以很容易地说服自己:反多行语句没有反斜杠会导致混淆或不一致的语法。以JavaScript为例,看起来像是在做某件事的代码实际上做了别的事情,因为读取代码的人认为它是一个多行语句,但解释器毫不含糊地执行是两个独立的语句。所以没有反斜杠很难看。 – slebetman