Manpages

______________________________________________________________________________

NAME

proc - 建 立 一 個 Tcl 過 程

總 覽 SYNOPSIS

proc name args body _________________________________________________________________

描 述 DESCRIPTION

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 命 令 , 則 它 的 返 回 值 是 在 過 程 體 中 執 行 的 最 後 一 條 命 令 的 值 。 如 果 在 執 行 過 程 體 期 間 發 生 了 一 個 錯 誤 , 則 作 爲 一 個 整 體 的 過 程 將 返 回 相 同 的 錯 誤 。

參 見 SEE ALSO

info(n), unknown(n)

關 鍵 字 KEYWORDS

argument, procedure

[中 文 版 維 護 人 ]

寒 蟬 退 士

[中 文 版 最 新 更 新 ]

2001/10/17

《 中 國 Linux 論 壇 man 手 冊 頁 翻 譯 計 劃 》 :

http://cmpp.linuxforum.net

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