這是Tcl 8.4。如何使用參數列表中的參數調用過程
我正在試圖做一個程序,可以做任何其他程序通過用戶指定的共同點。
例如:
proc process_menu_item {command args {count 1}} {
set inf [expr {$count == -1 ? 1 : 0}]
set end_str [expr {$count == -1 ? "inf" : $count}]
set loop_cnt 0
while {$inf || $count > 0} {
incr loop_cnt
puts [format "------- %s -------" [bold "LOOP $loop_cnt of $end_str"]]
$command $args
}
return
}
這個過程,我希望,將只執行指定$命令$ count次。 我遇到的問題是傳遞參數。
假設我想打電話給這樣一個過程:
proc example {{par_a {-1}} {par_b {-1}} {par_c 1}} {
puts "All params: $par_a $par_b $par_c"
}
如何我應該叫process_menu_item
?它甚至有可能嗎?我嘗試了一個字符串,一個列表,但最終par_a
得到所有參數的大列表。
謝謝。
因此,必須爲每個可以調用的過程編寫包裝器? – ilya1725 2012-04-28 00:21:37