接受可變數量引數的過程
### Definition
proc myproc {alpha {beta {}} {gamma green}} {
puts [list $alpha $beta $gamma]
}
### Use
myproc A
# => A {} green
myproc A B
# => A B green
myproc A B C
# => A B C
此過程接受一個,兩個或三個引數:名稱是兩項列表中第一項的引數是可選的。引數變數(alpha
,beta
,gamma
)獲得儘可能多的引數值,從左到右分配。不獲取任何引數值的引數變數將從列表中的第二個項中獲取它們的值。
請注意,可選引數必須位於引數列表的末尾。如果引數 N-1 是可選的,則引數 N 也 必須是可選的。如果在一個情況下,如果使用者有說法 ñ 而不是爭論 N-1 ,引數的預設值 N-1 需要引數前應明確提及 ñ ,而呼叫程式。
myproc A B C D
# (ERROR) wrong # args: should be "myproc alpha ?beta? ?gamma?"
該過程不接受三個以上的引數:請注意,會自動建立描述引數語法的有用錯誤訊息。