我碰上了以下內容,想不通這是什麼參數列表意味着:的Tcl參數表澄清
proc IsSpecificationLive { specificationDate { onDate "" } }
更具體地說,什麼是{ onDate"" }
爲參數列表裏的目的是什麼?
我碰上了以下內容,想不通這是什麼參數列表意味着:的Tcl參數表澄清
proc IsSpecificationLive { specificationDate { onDate "" } }
更具體地說,什麼是{ onDate"" }
爲參數列表裏的目的是什麼?
可選參數onDate
的空默認值。
從proc
參數數量手冊頁指定形式參數的過程。它由一個可能爲空的列表組成,每個元素指定一個參數。每個參數說明符也是一個帶有一個或兩個字段的列表。如果說明符中只有一個字段,那麼它就是參數的名稱;如果有兩個字段,則第一個是參數名稱,第二個是其默認值。具有默認值的參數以及非默認參數後面的參數成爲必需的參數。在8.6中,這將被視爲錯誤。
實施例:
proc IsSpecificationLive { specificationDate { onDate "" } } {
puts $onDate
}
IsSpecificationLive foo bar; # outputs "bar"
IsSpecificationLive baz; # outputs an empty line
詳情參見用於proc的文檔。
這是可選參數的語法。所以,這個過程需要兩個參數。第一個是必需的(specificationDate),第二個是可選的。如果僅使用一個參數調用該過程,則onDate將設置爲「」。如果用兩個參數調用它,onDate將被設置爲第二個參數。
允許您使用單個參數調用該過程,onDate
的默認值將爲空字符串。以下是交互式tclsh會話的片段:
% proc IsSpecificationLive { specificationDate { onDate "" } } {
puts $specificationDate
puts $onDate
}
% IsSpecificationLive
wrong # args: should be "IsSpecificationLive specificationDate ?onDate?"
% IsSpecificationLive one two
one
two
% IsSpecificationLive one
one
% IsSpecificationLive one two three
wrong # args: should be "IsSpecificationLive specificationDate ?onDate?"