Provided by: manpages-zh_1.5.2-1_all bug

NAME

       tclvars - Tcl 使用的變量

描述 DESCRIPTION
       Tcl
       庫自動的建立和管理下列全局變量。除了下面專做說明的地方之外,對特定於應用的代碼和使用者,這些變量通常應當作為只讀的來對待。

       env    Tcl
              把這個變量維護為一個數組,它的元素是這個進程的環境變量。讀取一個元素將返回相應的環境變量的值。設置這個數組的一個元素將修改相應的環境變量,如果它不存在則建立一個新的。刪除
              env            的一個元素將刪除相應的環境變量。對            env
              數組的變更將影響通過像                                      exec
              這樣的命令傳遞給子進程的環境變量。如果刪除了整個             env
              數組,則 Tcl 將停止監視 env     訪問並且將不更新環境變量。
              在  Windows  下,任何大小寫形式的環境變量   PATH   和    COMSPEC │
              都被自動轉換成                                大寫的。例如,PATH │
              環境變量可以被作業系統導出為“path”、“Path”、“PaTh”、             │
              等,這導致其他簡單       Tcl     代碼必須支持許多特殊的寫法。Tcl │
              繼承的所有其他 環境變量保持不變。
              在 Macintosh  上,Tcl   把環境變量構造為非現存的全局環境變量。為
              Tcl  建立的環境變量包括:

              LOGIN  它持有 Macintosh 的 Chooser 名字。

              USER   它也持有 Macintosh 的 Chooser 名字。

              SYS_FOLDER
                     到系統目錄的路徑。

              APPLE_M_FOLDER
                     到 Apple 選單目錄的路徑。

              CP_FOLDER
                     到控制面板目錄的路徑。

              DESK_FOLDER
                     到桌面目錄的路徑。

              EXT_FOLDER
                     到系統擴展目錄的路徑。

              PREF_FOLDER
                     到偏好目錄的路徑。

              PRINT_MON_FOLDER
                     到列印監控器目錄的路徑。

              SHARED_TRASH_FOLDER
                     到網路垃圾箱目錄的路徑。

              TRASH_FOLDER
                     到垃圾箱目錄的路徑。

              START_UP_FOLDER
                     到啟動目錄的路徑。

              HOME   到應用程式的預設目錄的路徑。

              你還可以為  Macintosh 建立你自己的環境變量。叫做 Tcl Environment
              Variables                的一個檔案將被放置到                Mac
              系統檔案夾中的偏好檔案夾中。這個檔案中的每行的形式都是
              VAR_NAME=var_data。

              最後的選擇是把環境變量放置到這個應用的叫做    Tcl    Environment
              Variables  的一個`STR#'資源檔案中。這被認為是更像“Mac  式”而不是
              一個                                                        Unix
              式樣的環境變量檔案。`STR#'資源中每個條目有與上述相同的格式。源
              代碼檔案  tclMacEnv.c  包含   env   機制的實現。這個檔案包含許多
              #define ,它們允許你定制 env 機制來適合你的應用的需要。

       errorCode
              在發生了一個錯誤之後,設置這個變量為持有關於錯誤的補充信息,它的形式易於用程式處理。errorCode
              由有一個或多個元素的一個                                     Tcl
              列表組成。這個列表的第一個元素標識錯誤的一個一般的類別,並決定列表餘下部分的格式。Tcl
              核心為 errorCode 使用下列格式;個別應用可以定義補充的格式。

              ARITH code msg
                     在發生一個算術錯誤的時候使用這個格式(例如,在        expr
                     命令中嘗試除以零)。Code        標識準確的錯誤而       msg
                     提供一個人可閱讀的對錯誤的描述。Code
                     將是下列之一:DIVZERO                (嘗試除以零)、DOMAIN
                     (如果函數的一個參數在它的作用域之外,比如
                     acos(-3))、IOVERFLOW         (整數溢出)、        OVERFLOW
                     (浮點數溢出)、或 UNKNOWN (如果不能確定錯誤的原因)。

              CHILDKILLED pid sigName msg
                     在子進程被一個信號所終止的時候使用這個格式。errorCode
                     的第二個元素是這個進程的標識符(十進制數)。第三個元素標識導致進程終止的信號的符號名字;它將是在檔案
                     signal.h                           中包含的名字之一,比如
                     SIGPIPE。第四個元素是一個描述這個信號的人可閱讀的短消息,比如對
                     SIGPIPE是“write on pipe with no readers”。

              CHILDSTATUS pid code
                     在子進程以非零狀態退出的時候使用這個格式。errorCode
                     的第二個元素是這個進程的標識符(十進制數),而第三個元素是這個進程返回的退出代碼(也是十進制數)。

              CHILDSUSP pid sigName msg
                     在子進程被一個信號所掛起的時候使用這個格式。errorCode
                     的第二個元素是這個進程的標識符,是一個十進制數。第三個元素識導致進程掛起的信號的符號名字;它將是在檔案signal.h
                     中包含的名字之一,比如                          SIGTTIN。
                     第四個元素是一個描述這個信號的人可閱讀的短消息,比如對
                     SIGTTIN 是“background tty read”。

              NONE   對除了返回錯誤消息之外沒有其他可獲得的補充信息的錯誤使用這個格式。在這種情況下
                     errorCode
                     將由只有一個單一元素的一個列表組成,這個元素的內容是
                     NONEPOSIX errName msg
                     如果   errorCode  的第一個元素是  POSIX,則錯誤發生在一個
                     POSIX
                     核心調用期間。這個列表的第二個元素將包含發生的錯誤的符號名字,比如
                     ENOENT;它將是在包含檔案                          errno.h
                     中定義的值之一。這個列表的第三個元素是對應於      errName
                     的一個人可閱讀的消息,比如對 ENOENT 是“no  such  file  or
                     directory”。

              要設置   errorCode,應用應當使用庫過程比如  Tcl_SetErrorCodeTcl_PosixError,或者調用  error 命令。如果使用了這些方法之一,則
              Tcl 解釋器將在下個錯誤之後重置這個變量為 NONEerrorInfo
              在一個錯誤發生之後,這個字符串將包含標識在最新近的錯誤發生時正在執行的
              Tcl
              命令和過程的一行或多行。它的內容使用棧跟蹤的形式,展示在錯誤發生時調用的各個嵌套的
              Tcl 命令。

       tcl_library
              這個變量持有包含系統                                         Tcl
              稿本庫的一個目錄的名字,比如用於自動裝載的那些目錄。info library
              命令返回這個變量的值。關於   Tcl    稿本庫的詳情請參見   library
              手冊條目。                        除了                       Tcl
              稿本庫之外,每個應用或包通常都有它自己的特定於應用的稿本庫;每個應用都應該設置名字像
              $app_library            這樣的一個全局變量(這裏的            app
              是這個應用的名字)來持有這個應用的庫目錄的網路檔案名字。在建立解釋器的時候,通過查找許多不同目錄直到找到包含一個適當的
              Tcl    啟動稿本的目錄,來設置    tcl_library    的最初的值。如果
              TCL_LIBRARY           環境變量存在,則首先訪問它指名的目錄。如果
              TCL_LIBRARY        未被設置或不參照一個適當的目錄,則        Tcl
              檢查基於在其中編譯(compiled-
              in)的預設位置的其他一些目錄、包含應用的二進制檔案的位置、和當前工作目錄。

       tcl_patchLevel
              在建立解釋器的時候   Tcl   初始化這個變量來持有給出當前的    Tcl
              補丁級別的一個字符串,比如  7.3p2 是Tcl 7.3 的第二次官方補丁,而
              7.4b4  是  Tcl  7.4  的第四次  beta      發佈。info   patchlevel
              命令返回這個值。

       tcl_pkgPath                                                             │
              這個變量持有一個目錄的列表,它一般指示把包安裝到哪裏。在 Windows │
              上不使                                                           │
              用它。它典型的包含一個或兩個條目;如果它包含兩個條目,第一個通常是依賴於│
              平台的包的目錄(例如,共享庫的二進制檔案)而第二個通常是平台無關的包的目錄│
              (例如,稿本檔案)。典型的把包安裝為在                $tcl_pkgPath │
              中的一個條目的 一個子目錄。在 $tcl_pkgPath  中的目錄預設的包含在 │
              auto_path          變量中,所以          package         require │
              命令期間自動的在它們和它們的直接子目           錄中查找包。注意: │
              不希望應用修改        tcl_pkgPath。在啟動時它的值被添加       到 │
              auto_path;對     tcl_pkgPath     的變動不會反映到     auto_path │
              中。如果你想讓       Tcl      來在額外的目錄中查找包,你應該把這 │
              些目錄的名字添加到 auto_path,而不是 tcl_pkgPathtcl_platform
              這是一個關聯數組,它的元素包含關於應用在其上運行的平台的信息,比如作業系統的名字、它的當前發行號、和機器的指令集。總是定義下列元素,但是如果
              Tcl
              不能檢索到任何有關的信息,則它們的值將是空串。除此之外,擴展和應用可以向這個數組添加補充的值。預先定義的元素是:

              byteOrder                                                        │
                     這個機器的本地字節序: littleEndianbigEndiandebug  如果這個變量存在,則編譯解釋器時啟用了調試符號。只在
                     Windows   上存在這個變量,擴展作者可以依賴於所裝載的    C
                     運行時庫來指定裝載哪個包。

              machine
                     這個機器執行的指令集,比如   intelPPC68k、或sun4m。在
                     UNIX 機器上,用 uname -m 返回這個值。

              os     在這個機器上運行的作業系統的名字,比如            Windows
                     95Windows  NTMacOS、或  SunOS。  在  UNIX  機器上,用
                     uname  -s  返回這個值。在  Windows  95  和   Windows   98
                     上,返回的值將是  Windows  95  來提供更好的對  Windows 95
                     的反向相容;要區別二者,請檢查 osVersionosVersion
                     在這個機器上運行的作業系統的版本號。在  UNIX   機器上,用
                     uname  -r  返回這個值。在 Windows 95 上,版本將是 4.0;在
                     Windows 98 上,版本將是 4.10。

              platform
                     windowsmacintosh、或                               unix
                     之一。它表示這個機器的一般操作環境。

              threaded
                     如果這個變量存在,則編譯這個解釋器時啟用了線程。

              user   它基於在平台上獲得的登入信息標識當前使用者。在       Unix
                     它源自 USER 或 LOGNAME 環境變量,在 Windows 和  Macintosh
                     上源自 GetUserName。

       tcl_precision
              這個變量在把浮點數轉換成字符串時控制生成的數字的數目。它預設的是 │
              12。對於              IEEE               浮點數               17 │
              位數字是“最佳的”,這樣允許雙精度值在二進制和字符串之間來回轉換而不丟失信息。但是,使用│
              17                                                               │
              位數字將禁止任何舍入,這將生成更長,而更不直觀的值。例如,expr1.4      在設置      tcl_precision      為       17       時返回 │
              1.3999999999999999,而在設置 tcl_precision 為 12 時返回 1.4 。   │
              在一個進程中的所有解釋器共享一個單一的     tcl_precision     值: │
              在一個解釋器中改變它將同樣影響所有其他解釋器。但是,不允許安全解釋器修改這個變量。│

       tcl_rcFileName
              在初始化期間使用這個變量來指示特定於使用者的啟動檔案的名字。如果在特定於應用的初始化中設置了它,則
              Tcl 啟動代碼將檢查這個檔案是否存在,並且如果它存在的話則  source
              (載入)它。例如,對於 wish ,這個變量被設置成給 Unix 的 ~/.wishrc
              和給 Windows 的 ~/wishrc.tcltcl_rcRsrcName
              這個變量只在                                           Macintosh
              系統上使用。在初始化期間使用這個變量來指示位於應用或擴展資源
              fork                  中的一個特定於應用的                  TEXT
              資源的名字。如果特定於應用的初始化設置了它,則               Tcl
              啟動代碼將檢查資源是否存在,如果存在則                    source
              它。例如,Macintosh wish  應用設置這個變量為 tclshrctcl_traceCompile
              設置這個變量的值來控制在字節碼編譯期間顯示多少跟蹤信息。預設的,tcl_traceCompile
              是零且不顯示信息。設置            tcl_traceCompile            為
              1,在編譯一個過程或頂層命令的時候在標準輸出上生成一行總結。設置它為
              2,在標準輸出上詳細的列出在每次編譯期間散發(???
              emit)的字節碼指令。在跟蹤懷疑是                              Tcl
              編譯器的問題時很有用。在把現存代碼轉換成 Tcl8.0 時也偶爾有用。

       tcl_traceExec
              設置這個變量的值來控制在字節碼執行期間顯示多少跟蹤信息。預設的,tcl_traceExec
              是零而不顯示信息。設置  tcl_traceExec  為  1,在每次調用一個 Tcl
              過程的時候在標準輸出上生成一行跟蹤。設置它為
              2,在用命令的名字和它的參數調用任何Tcl
              命令的時候,生成一行輸出。設置它為
              3,生成一個詳細的跟蹤,展示每個字節碼指令的執行結果。注意在
              tcl_traceExec  是  2  或  3   的時候,不展示像   set   和   incr
              這樣已經被整個替換為一個字節碼指令序列的命令。在跟蹤懷疑是   Tcl
              編譯器和解釋器的問題時很有用。在把現存代碼轉換成          Tcl8.0
              時也偶爾有用。

       tcl_wordchars
              這個變量的值是一個正則表達式,設置它來控制認把什麼字符認為是“字”字
              符。例如在  Tk  的文本框中用雙擊來選擇一個字。它是平台相關的。在
              Windows        上,它預設為        \S,意思是除了        Unicode
              空格字符之外的任何字符。其他 平台上預設為 \w,它是任何   Unicode
              字字符(數字、字母、下劃線)。

       tcl_nonwordchars
              這個變量的值是一個正則表達式,設置它來控制認把什麼字符認為是“非字”
              字符。例如在                                                  Tk
              的文本框中用雙擊來選擇一個字。它是平台相關的。在         Windows
              上,它預設為 \s,意思是任何 Unicode 空格字符。其他平台上缺  省為
              \W,它是除了 Unicode 字字符(數字、字母、下劃線)之外的任何字符 。

       tcl_version
              在建立解釋器的時候,Tcl    初始化這個變量來持有這個版本的    Tcl
              的版本號,形式是                   x.y。對                     x
              的變更表示可能導致不相容的較大的變化,對                       y
              的變更表示保持反向相容的小增強和缺陷修理,info        tclversion
              命令返回這個變量的值。

參見 SEE ALSO
       eval(n)

關鍵字 KEYWORDS
       arithmetic,  bytecode,  compiler, error, environment, POSIX, precision,
       subprocess, variables

[中文版維護人]
       寒蟬退士

[中文版最新更新]
       2001/12/10

《中國 Linux 論壇 man 手冊頁翻譯計劃》:
       http://cmpp.linuxforum.net