## Tcl9.0.3/Tk9.0.3 Documentation > [incr Tcl] Package Commands, version 4.3.5 > itclvars

### Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API

### NAME

itclvars — "[incr Tcl]" によって使われる変数　　　 variables used by [incr Tcl]

### 説明 DESCRIPTION

次の大域変数は[incr Tcl] 外部函数によって自動的に生成､管理される｡下の註意点を除き､これら変数は応用譜固有の符号命令や使用者に､通常読出し専用として､扱われる｡　　　　　　 The following global variables are created and managed automatically by the [incr Tcl] library. Except where noted below, these variables should normally be treated as read-only by application-specific code and by users.

itcl::library
  解釈実行機能が生成された時､[incr Tcl] 記述譜の系外部函数を含むディレクトリーの名前を保有する為に､ [incr Tcl] がこの変数を初期化する｡ itcl::library の初期値は､ ITCL_LIBRARY 環境が実在する場合には そこから､そうでない場合､機械語翻訳に組込まれた値に設定される｡　　　　　 When an interpreter is created, [incr Tcl] initializes this variable to hold the name of a directory containing the system library of [incr Tcl] scripts. The initial value of itcl::library is set from the ITCL_LIBRARY environment variable if it exists, or from a compiled-in value otherwise.

itcl::patchLevel
  解釈実行機能が Tcl/Tk と [incr Tcl] 名前空間便益を含んで,生成される時､この変数は､部品利用について "旧版への両立性" 様式を制御する｡　　　　　　 When an interpreter is created, [incr Tcl] initializes this variable to hold the current patch level for [incr Tcl]. For example, the value "2.0p1" indicates [incr Tcl] version 2.0 with the first set of patches applied.

itcl::purist
  解釈実行機能が Tcl/Tk と [incr Tcl] 名前空間便益を含んで,生成される時､この変数は､部品利用について "旧版への互換性" 様式を制御する｡　　　　　　 When an interpreter is created containing Tcl/Tk and the [incr Tcl] namespace facility, this variable controls a "backward-compatibility" mode for widget access.

  ありきたりの Tcl/Tk では､命令は一つの命令置き場があり､そこで部品についての利用命令は､窓の名前と同じである｡部品が名前空間内部に生成された時､その利用命令はその名前空間内に実装されるが､名前空間の外側では､修飾された名前を使って利用されるべきである｡譬えば､　　　　　　 In vanilla Tcl/Tk, there is a single pool of commands, so the access command for a widget is the same as the window name. When a widget is created within a namespace, however, its access command is installed in that namespace, and should be accessed outside of the namespace using a qualified name. For example,

      namespace foo {
          namespace bar {
              button .b -text "Testing"
          }
      }
      foo::bar::.b configure -background red
      pack .b

  註意すべきは､窓の名前 ".b" は依然 pack や destroy の様な命令と一緒に使われる｡ 但し､部品についての利用命令(即ち､命令行の最初の first 引数として現れる名前)は､最も固有のものでなければならない｡　　　　　　 Note that the window name "`.b`" is still used in conjunction with commands like pack and destroy. However, the access command for the widget (i.e., name that appears as the first argument on a command line) must be more specific.

  "winfo command" 命令は､どの部品についても完全に修飾して利用する命令の問合せに使うことができる､そこで次の様に書ける: 　　　　　　 The "winfo command" command can be used to query the fully-qualified access command for any widget, so one can write:

      [winfo command .b] configure -background red

  またこれは､外部函数の手続函数を書く時によい習慣である｡ 又､ bind 命令と一緒に､"%q" 欄は､利用の命令として "%W" の代わりに使うことができる: 　　　　　　 and this is good practice when writing library procedures. Also, in conjunction with the bind command, the "%q" field can be used in place of "%W" as the access command:

      bind Button <Key-Return> {%q flash; %q invoke}

  封入の立場からこの振舞いは理に適っているが､既存の Tcl/Tk には問題を惹き起こす｡多くの既存の応用譜は "%W" を使って束縛が書かれている｡多くの外部函数の手続函数は窓の名前を利用命令と仮定している｡　　　　　　　 While this behavior makes sense from the standpoint of encapsulation, it causes problems with existing Tcl/Tk applications. Many existing applications are written with bindings that use "%W". Many library procedures assume that the window name is the access command.

  itcl::purist 変数は旧版への互換性を制御する｡ 無為設定では､この変数は "0" であって､窓の名前はどの文脈内でも､利用命令として使用できる｡ 何時であれ､ unknown 手続函数が部品名の呼び出しで躓いた時は､適切な命令名を定める為に､単に "winfo command" を使えば良い｡ もしこの変数が "1" に設定されている場合､この旧版への両立性の様式は利用できない｡ これは､より好ましい封入が得られるが､利用命令として窓の名前を使うと "invalid command" の不都合が発生するかもしれない｡　　　　　 The itcl::purist variable controls a backward-compatibility mode. By default, this variable is "0", and the window name can be used as an access command in any context. Whenever the unknown procedure stumbles across a widget name, it simply uses "winfo command" to determine the appropriate command name. If this variable is set to "1", this backward-compatibility mode is disabled. This gives better encapsulation, but using the window name as the access command may lead to "invalid command" errors.

itcl::version
  解釈実行機能が生成される時､[incr Tcl] はこの変数を保持するために x.y の書式で版番号に初期化する｡ x の変更は両立性に拘わる主要な変更であり､y の変更は､旧版への両立性を保持した小さな増強と瑕疵修正である｡　　　　　　　 When an interpreter is created, [incr Tcl] initializes this variable to hold the version number of the form x.y. Changes to x represent major changes with probable incompatibilities and changes to y represent small enhancements and bug fixes that retain backward compatibility.

### KEYWORDS

itcl, variables
Copyright © 1993-1998 Lucent Technologies, Inc.