我有以下代碼:如何避免斜槓炎?
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