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

NAME

       auto_execok,   auto_import,   auto_load,   auto_mkindex,  auto_mkindex_old,  auto_qualify,
       auto_reset,     tcl_findLibrary,     parray,      tcl_endOfWord,      tcl_startOfNextWord,
       tcl_startOfPreviousWord, tcl_wordBreakAfter, tcl_wordBreakBefore - standard library of Tcl
       procedures

總覽 SYNOPSIS

       auto_execok cmd
       auto_import pattern
       auto_load cmd
       auto_mkindex dir pattern pattern ...
       auto_mkindex_old dir pattern pattern ...
       auto_qualify command namespace
       auto_reset
       tcl_findLibrary basename version patch initScript enVarName varName
       parray arrayName
       tcl_endOfWord str starttcl_startOfNextWord str starttcl_startOfPreviousWord str starttcl_wordBreakAfter str starttcl_wordBreakBefore str start                                                              │
_________________________________________________________________

介紹 INTRODUCTION

       Tcl 為公共需求的功能包含了一個 Tcl 過程庫。在 Tcl 庫中定義的過程是適用於多種不同的應用的通
       用過程。用 info library 命令返回 Tcl 庫的位置。除了這個 Tcl 庫之外,每個應用通常都有它自己
       的支援過程庫;這個庫的位置通常用  $app_library  全域性變數的值給出,這裡  app   是應用的名
       字。例如,Tk 庫的位置保持在變數 $tk_library 中。

       要訪問在 Tcl 庫中的過程,一個應用應該 source (載入)庫中的檔案 init.tcl,例如,Tcl 命令
              source [file join [info library] init.tcl]
       如果在一個應用的   Tcl_AppInit   過程中呼叫了庫過程   Tcl_Init,則這(個載入)將自動發生。在
       init.tcl 中的程式碼將定義  unknown  過程和使用下面定義的自動裝載機制安排其他過程在需要時裝
       載。

命令過程 COMMAND PROCEDURES

       在 Tcl 庫中提供了下列過程:

       auto_execok cmd
              確定是否有一個叫  cmd 的一個可執行檔案或 shell     內建命令。如果有,它返回要傳遞給
              exec     來執行這個叫 cmd 的可執行檔案或 shell     內建命令的那些引數的一個列表。如
              果沒有,它返回一個空串。這個命令檢查在當前查詢路徑中目錄(由       PATH   環境變數給
              出),在其中查詢叫 cmd     的一個可執行檔案。在 Windows     平臺上,查詢被展開為相同
              的目錄和與 exec     使用相同的檔名擴充套件。 Auto_exec 在一個叫 auto_execs     的陣
              列中記住以前查詢的資訊;這避免在將來呼叫相同的     cmd 時進行路徑查詢。可以使用命令
              auto_reset     來強迫 auto_execok 忘掉快取的資訊。

       auto_import patternnamespace import 期間呼叫 Auto_import 來檢視用 pattern 指定的匯入命令是否駐留在
              一個 自動裝載的庫中。如果是,則裝載這個命令,這樣要建立匯入連線的直譯器就可以獲得它
              們。如果這個命令不駐留在自動裝載庫中,auto_import 什麼都不做。

       auto_load cmd
              這個命令嘗試裝載一個叫做 cmd 的 Tcl  命令的定義,它查詢一個自動裝載路徑,它是一個或
              多個目錄的一個列表。如果全域性變數     $auto_path      存在的話,則它給出這個自動裝
              載路徑。如果沒有  $auto_path     變數,則若 TCLLIBPATH     環境變數存在則使用它。否
              則自動裝載路徑只包含 Tcl     庫目錄。在自動裝載路徑中的每個目錄中必須有描述在這個目
              錄中定義的一個或多個命令的一個檔案     tclIndex,和要被求值來裝載每個命令的一個指令
              碼。應當使用     auto_mkindex 命令來自動生成 tclIndex      檔案。如果在一個索引檔案
              中找到    cmd        ,則求值適當的指令碼來建立這個命令。如果成功的建立了   cmd,則
              auto_load  命令返回  1。如果沒有給  cmd      的索引條目或這個指令碼實際上定義的不是
              cmd(例如,因為索引資訊過時了),這個命令返回     0。如果在處理這個指令碼的時候發生了
              一個錯誤,則返回這個錯誤。Auto_load            只讀這個索引檔案一次並把它儲存到陣列
              auto_index 中;以後對     auto_load 的呼叫將在這個陣列中檢查 cmd     而不是重讀索引
              檔案。可以用命令 auto_reset 刪除快取的索引資訊。這將強制下一個     auto_load 命令從
              磁碟重新裝載索引資料庫。

       auto_mkindex dir pattern pattern ...
              生成適合於 auto_load 使用的一個索引。這個命令在 dir   中查詢名字匹配任何 pattern 引
              數的所有檔案(使用 glob  命令進行匹配),生成在所有匹配的檔案的中定義的所有  Tcl 命令
              過程的一個索引,並且在  dir  中的一個叫 tclIndex 的檔案中儲存索引資訊。如果未給出模
              式,則假定模式是 *.tcl,例如
                     auto_mkindex foo *.tcl

              將在子目錄讀 foo 中讀取所有 .tcl 檔案並生成一個新索引檔案 foo/tclIndexAuto_mkindex  透過把  Tcl  指令碼載入(source)到一個從直譯器中來分析它們並監視執行的
              proc 和 namespace 命令。擴充套件可以使用(沒有文件)     auto_mkindex_parser 包來註冊
              對 auto_load     索引有所貢獻的其他命令。你必須閱讀 auto.tcl     來檢視這是如何工作
              的。

              Auto_mkindex_old 在一個相對不復雜的方式分析 Tcl     指令碼: 如果任何一行包含字 proc
              為它的第一個字,則假定它為一個過程定義並接受這一行的下一個字為這個過程的名字。不是
              以這種方式出現的過程定義(比如,在      proc 前面有空格)將不被編排索引。如果你的指令
              碼包含“危險”程式碼,比如全域性初始化程式碼或有特殊字元如     $*[]  的過程名
              字,則你使用     auto_mkindex_old 是更安全的。

       auto_reset
              銷燬被  auto_execokauto_load 快取的所有資訊。下次需要這些資訊的時候將從磁碟重新
              讀取。Auto_reset     還刪除在 auto-load      中列出的所有過程,這樣下次使用它們的時
              候將裝載它們的重新整理了的複本。

       auto_qualify command namespace
              計算  command 的完全限定的名字的一個列表。這個列表映象標準     Tcl 直譯器用以查詢命
              令的那個路徑:      首先它在當前名字空間中查詢這個命令,接著在全域性名字空間中。相應
              的,如果      command  是相對的並且  namespace  不是  ::,則返回的這個列表兩個元素:
              一個是由 namespace 界定範圍的command,如同它是一個在     namespace 名字空間中的命令
              一樣;而另一個 command     如同在全域性名字空間中的一個命令一樣。否則,如果 command
              是絕對的(它以 :: 為開始),或者 namespace::,則這個列表只包含一個      command
              ,如同它是一個在全域性名字空間中的命令一樣。

              在 Tcl 中自動裝載設施使用 Auto_qualify,用來生成自動裝載索引如     pkgIndex.tcl,和
              用來在執行時進行實際的函式自動裝載。

       tcl_findLibrary basename version patch initScript enVarName varName
              這個命令是擴充套件在它們的初始化期間使用的一個標準查詢過程。擴充套件呼叫這個過程來
              在多個標準路徑中查詢它們的過程。目錄名字的最後的構成部分通常是      basenameversion
              (例如,tk8.0),但在建造等級上他可能是“庫”。一旦找到就把         initScript     檔案
              source(載入)到直譯器中。把在其中找到檔案的那個目錄儲存到全域性變數          varName
              中。如果已經定義這個變數(比如,在應用初始化期間用     C 程式碼),則不進行查詢。否則
              在以下這些目錄中進行查詢:       由環境變數   enVarName  給出名字的目錄;相對於  Tcl
              庫的目錄;相對於(??? relative to)在標準安裝 bin 或 bin/arch      中的可執行檔案的目
              錄;相對於在當前建造樹中的可執行檔案的目錄;相對於在並行建造樹中的可執行檔案的目
              錄。

       parray arrayName
              把陣列 arrayName    中的所有元素的名字和值輸出到標準輸出上。ArrayName    必須是一個
              對於 parray 的呼叫者是可以訪問的一個數組。它可以是區域性的或全域性的。

       tcl_endOfWord str start
              返回字串   str  中在起始索引  start   之後出現的第一個字結束(end-of-word)位置的的索 │
              引。定義字結束位置為在起始點之後跟隨在第一個單字字元後面的第一個非字字元。如果在起  │
              始點之後沒有字結束位置則返回     -1。關於 Tcl  如何確定哪個字元是單字字元的詳情參見 │
              下面對 tcl_wordcharstcl_nonwordchars 的描述。                                  │

       tcl_startOfNextWord str start                                                              │
              返回字串 str  中在起始索引  start   之後出現的第一個字開始(start-of-word)位置的的索 │
              引。定義字開始位置為跟隨在一個非字字元後面的第一個單字字元。如果在起始點之後沒有字  │
              開始位置則返回 -1。                                                                 │

       tcl_startOfPreviousWord str start                                                          │
              返回字串 str  中在起始索引  start   之前出現的第一個字開始(start-of-word)位置的的索 │
              引。如果在起始點之前沒有字開始位置則返回  -1。                                      │

       tcl_wordBreakAfter str start                                                               │
              返回字串 str 中在起始索引 start  之後出現的第一個字邊界的索引。如果在給定字串中在起 │
              始點之後沒有邊界則返回  -1。返回的索引參照組成一個邊界(字元)對的第二個字元。        │

       tcl_wordBreakBefore str start                                                              │
              返回字串 str 中在起始索引 start  之前出現的第一個字邊界的索引。如果在給定字串中在起 │
              始點之前沒有邊界則返回 -1。返回的索引參照組成一個邊界(字元)對的第二個字元。

變數 VARIABLES

       在 Tcl 庫中的過程定義或使用下列全域性變數:

       auto_execs
              用它來記錄關於特定命令是否存在為可執行檔案的資訊。

       auto_index
              auto_load 用它來儲存從磁碟讀來的索引資訊。

       auto_noexec
              如果設定了任何值,則 unknown     不嘗試自動執行任何命令。

       auto_noload
              如果設定了任何值,則 unknown     不嘗試自動裝載任何命令。

       auto_path
              如果設定了它,則它必須包含一個有效的  Tcl      列表,給出在自動裝載操作中要查詢的目
              錄。在啟動期間初始化這個變數為依次包含:     在 TCLLIBPATH  環境變數中列出的目錄,由
              $tcl_library      變數命名的目錄,$tcl_library 的父目錄,在 $tcl_pkgPath     變數中
              列出的目錄。

       env(TCL_LIBRARY)
              如果設定了它,則它指定包含庫指令碼的目錄的位置(這個變數的值將被賦予     tcl_library
              變數並被 info library 命令所返回)。如果這個變數未被設定,則使用預設的值。

       env(TCLLIBPATH)
              如果設定了它,則它必須包含一個有效的 Tcl     列表,給出在自動裝載操作期間要查詢的目
              錄。必須用 Tcl      格式指定目錄,使用“/”作為分隔符而不管是在什麼平臺上。只在初始化
              auto_path 的時候使用這個變數。

       tcl_nonwordchars
              這個變數包含一個正則表示式,用於象 tcl_endOfWord     這樣的例程來識別一個字元是否是 │
              一個字的一部分。如果這個模式匹配一個字元,則把這個字元作為一個非字(non-word)字元對  │
              待。在        Windows    平臺上,空格、tab、和換行被作為非字字元對待。在       Unix │
              下,除了數字、字母和下劃線之外,所有字元都是非字字元。                              │

       tcl_wordchars                                                                              │
              這個變數包含一個正則表示式,用於象 tcl_endOfWord     這樣的例程來識別一個字元是否是 │
              一個字的一部分。如果這個模式匹配一個字元,則把這個字元作為一個單字字元對待。在      │
              Windows  平臺上,字有任何不是空格、tab、或換行的字元組成。在      Unix   下,字由數 │
              字、字母或下劃線組成。

       unknown_pending
               unknown      用它來記錄正在查詢的命令。在 unknown     在自身上無窮遞迴的地方,使用
              它來檢測錯誤。在 unknown     返回前刪除它的值。

參見 SEE ALSO

       info(n), re_syntax(n)

關鍵字 KEYWORDS

       auto-exec, auto-load, library, unknown, word, whitespace

[中文版維護人]

       寒蟬退士

[中文版最新更新]

       2001/12/06

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

       http://cmpp.linuxforum.net

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