Arch manual pages

proc(3tcl) Tcl Built-In Commands proc(3tcl)


proc - 建立一個 Tcl 過程

proc name args body

proc 命令建立一個叫做name 的新的 Tcl 過程,替換已經叫這個名字的任何現存的命令或過程。 當調用這個新命令的時候,Tcl 解釋器將執行 body 的內容。通常,name 是未限定的(unqualified)(不包括任何包含(這個過程)的名字空間的名字),在當前名字空間中建立這個新過程。如果 name 包含任何名字空間限定符(qualifier),則在指定的名字空間中建立這個過程。Args 指定給這個過程的形式參數。它由一個列表組成,可以爲空,它的每個元素指定一個參數。每個參數指定符(specifier)也可以是有一個或兩個字段(field)的一個列表。如果在指定符中只有一個單一字段則它是參數的名字;如果有兩個字段,則第一個是參數名而第二個是它的缺省值。

在調用 name 時,爲過程的每個形式參數建立一個局部變量;它的值將是在調用命令中相應的(實際)參數的值或這個參數的缺省值。在過程調用中可以不指定有缺省值的參數。但是,必須有足夠的實際參數給所有沒有缺省值的形式參數,並且沒有多餘的實際參數。有一種特殊情況可以允許過程有可變數目的參數。如果最後的形式參數的名字是 args,則到這個過程的一個調用包含的實際參數可以多於過程擁有的形式參數。此時,把開始於應當被賦給 args 的那個實際參數的所有實際參數組合成一個列表(有如使用了 list 命令);把這個組合後的值賦給局部變量 args

在執行 body 的時候,變量名一般引用局部變量,在被引用時自動建立它們,在過程退出時(自動)刪除它們。爲過程的每個參數自動的建立一個局部變量。只能通過調用 global 命令或 upvar 命令來訪問全局變量。只能通過調用 variable 命令或 upvar 命令來訪問名字空間變量。

proc 命令返回一個空串。在調用一個過程的時候,在一個 return 命令中指定這個過程的返回值。如果過程不執行一個顯式的return 命令,則它的返回值是在過程體中執行的最後一條命令的值。如果在執行過程體期間發生了一個錯誤,則作爲一個整體的過程將返回相同的錯誤。

info(n), unknown(n)

argument, procedure

寒蟬退士

2001/10/17

http://cmpp.linuxforum.net

本頁面中文版由中文 man 手冊頁計劃提供。
中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh
Tcl