Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства для  версии 10.9 Mac OS X

Если Вы выполняете различную версию  Mac OS X, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



info(n)                                     Tcl Built-In Commands                                    info(n)



____________________________________________________________________________________________________________

NAME
       info - Return information about the state of the Tcl interpreter

SYNOPSIS
       info option ?arg arg ...?
____________________________________________________________________________________________________________


DESCRIPTION
       This  command provides information about various internals of the Tcl interpreter.  The legal options
       (which may be abbreviated) are:

       info args procname
              Returns a list containing the names of the arguments to procedure procname, in  order.   Proc-name Procname
              name must be the name of a Tcl command procedure.

       info body procname
              Returns the body of procedure procname.  Procname must be the name of a Tcl command procedure.

       info cmdcount
              Returns a count of the total number of commands that have been invoked in this interpreter.

       info commands ?pattern?
              If pattern is not specified, returns a list of names of all the  Tcl  commands  visible  (i.e. |
              executable without using a qualified name) to the current namespace, including both the built- |
              in commands written in C and the command procedures defined using the proc command.   If  pat- |
              tern  is  specified,  only  those names matching pattern are returned.  Matching is determined |
              using the same rules as for string match.  pattern can be a qualified name  like  Foo::print*. |
              That  is,  it may specify a particular namespace using a sequence of namespace names separated |
              by double colons (::), and may have pattern matching special characters at the end to  specify |
              a  set  of  commands in that namespace.  If pattern is a qualified name, the resulting list of |
              command names has each one qualified with the name of the specified namespace,  and  only  the |
              commands defined in the named namespace are returned.

       info complete command
              Returns  1  if  command  is  a complete Tcl command in the sense of having no unclosed quotes,
              braces, brackets or array element names.  If the command does not appear to be complete then 0
              is  returned.   This  command  is  typically used in line-oriented input environments to allow
              users to type in commands that span multiple lines;  if  the  command  is  not  complete,  the
              script can delay evaluating it until additional lines have been typed to complete the command.

       info default procname arg varname
              Procname must be the name of a Tcl command procedure and arg must be the name of  an  argument
              to  that  procedure.  If arg does not have a default value then the command returns 0.  Other-wise Otherwise
              wise it returns 1 and places the default value of arg into variable varname.

       info exists varName
              Returns 1 if the variable named varName exists in the current context (either as a  global  or
              local variable) and has been defined by being given a value, returns 0 otherwise.

       info frame ?number?
              This command provides access to all frames on the stack, even those hidden from info level. If
              number is not specified, this command returns a number giving the frame level of the  command.
              This is 1 if the command is invoked at top-level. If number is specified, then the result is a
              dictionary containing the location information for the command at the numbered  level  on  the
              stack.

              If number is positive (> 0) then it selects a particular stack level (1 refers to the top-most
              active command, i.e., info frame itself, 2 to the command it was called from, and so on); oth-erwise otherwise
              erwise  it  gives  a  level  relative to the current command (0 refers to the current command,
              i.e., info frame itself, -1 to its caller, and so on).

              This is similar to how info level works, except that this subcommand reports all frames,  like
              sourced scripts, evals, uplevels, etc.

              Note  that  for  nested commands, like "foo [bar [x]]", only "x" will be seen by an info frame
              invoked within "x".  This is the same as for info level and error stack traces.

              The result dictionary may contain the keys listed below, with the specified meanings for their
              values:

              type   This  entry is always present and describes the nature of the location for the command.
                     The recognized values are source, proc, eval, and precompiled.

                     source
                            means that the command is found in a script loaded by the source command.

                     proc
                            means that the command is found in dynamically created procedure body.

                     eval
                            means that the command is executed by eval or uplevel.

                     precompiled
                            means that the command is found in a precompiled script (loadable by the package
                            tbcload), and no further information will be available.

              line   This entry provides the number of the line the command is at inside of the script it is
                     a part of. This information is not present for type precompiled. For type  source  this
                     information  is counted relative to the beginning of the file, whereas for the last two
                     types the line is counted relative to the start of the script.

              file   This entry is present only for type source. It provides the normalized path of the file
                     the command is in.

              cmd    This  entry  provides  the  string  representation  of the command. This is usually the
                     unsubstituted form, however for commands which are a pure list executed by eval  it  is
                     the  substituted  form  as they have no other string representation. Care is taken that
                     the pure-List property of the latter is not spoiled.

              proc   This entry is present only if the command is found in the body of a regular Tcl  proce-dure. procedure.
                     dure. It then provides the name of that procedure.

              lambda This entry is present only if the command is found in the body of an anonymous Tcl pro-cedure, procedure,
                     cedure, i.e. a lambda. It then provides the entire definition of the  lambda  in  ques-tion. question.
                     tion.

              level  This  entry  is present only if the queried frame has a corresponding frame returned by
                     info level. It provides the index of this frame, relative to the current level  (0  and
                     negative numbers).

              A  thing  of note is that for procedures statically defined in files the locations of commands
              in their bodies will be reported with type source and absolute line numbers, and not  as  type
              proc.  The  same  is  true for procedures nested in statically defined procedures, and literal
              eval scripts in files or statically defined procedures.

              In contrast, a procedure definition or eval within a dynamically evaluated  environment  count
              linenumbers  relative  to the start of their script, even if they would be able to count rela-tive relative
              tive to the start of the outer dynamic script. That type of number usually makes more sense.

              A different way of describing this behaviour is that  file  based  locations  are  tracked  as
              deeply as possible, and where this is not possible the lines are counted based on the smallest
              possible eval or procedure body, as that scope is usually easier  to  find  than  any  dynamic
              outer scope.

              The  syntactic  form {*} is handled like eval. I.e. if it is given a literal list argument the
              system tracks the linenumber within the list words as well, and otherwise all linenumbers  are
              counted relative to the start of each word (smallest scope)

       info functions ?pattern?
              If  pattern  is not specified, returns a list of all the math functions currently defined.  If
              pattern is specified, only those functions whose name matches pattern are returned.   Matching
              is determined using the same rules as for string match.

       info globals ?pattern?
              If pattern is not specified, returns a list of all the names of currently-defined global vari-ables. variables.
              ables.  Global variables are variables in the global namespace.  If pattern is specified, only
              those names matching pattern are returned.  Matching is determined using the same rules as for
              string match.

       info hostname
              Returns the name of the computer on which this invocation is being executed.  Note  that  this
              name is not guaranteed to be the fully qualified domain name of the host.  Where machines have
              several different names (as is common on systems with both TCP/IP (DNS) and NetBIOS-based net-working networking
              working installed,) it is the name that is suitable for TCP/IP networking that is returned.

       info level ?number?
              If number is not specified, this command returns a number giving the stack level of the invok-ing invoking
              ing procedure, or 0 if the command is invoked at top-level.  If number is specified, then  the
              result  is  a list consisting of the name and arguments for the procedure call at level number
              on the stack.  If number is positive then it selects a particular stack level (1 refers to the
              top-most  active  procedure,  2  to  the procedure it called, and so on); otherwise it gives a
              level relative to the current level (0 refers to the current procedure, -1 to its caller,  and
              so on).  See the uplevel command for more information on what stack levels mean.

       info library
              Returns  the  name of the library directory in which standard Tcl scripts are stored.  This is
              actually the value of the tcl_library variable and may be changed by setting tcl_library.  See
              the tclvars manual entry for more information.

       info loaded ?interp?
              Returns  a list describing all of the packages that have been loaded into interp with the load
              command.  Each list element is a sub-list with two elements consisting of the name of the file
              from which the package was loaded and the name of the package.  For statically-loaded packages
              the file name will be an empty string.  If interp is omitted then information is returned  for
              all  packages loaded in any interpreter in the process.  To get a list of just the packages in
              the current interpreter, specify an empty string for the interp argument.

       info locals ?pattern?
              If pattern is not specified, returns a list of all the names of currently-defined local  vari-ables, variables,
              ables,  including  arguments  to  the  current  procedure, if any.  Variables defined with the
              global, upvar  and variable commands will not be returned.   If  pattern  is  specified,  only
              those names matching pattern are returned.  Matching is determined using the same rules as for
              string match.

       info nameofexecutable
              Returns the full path name of the binary file from which the application was invoked.  If  Tcl
              was unable to identify the file, then an empty string is returned.

       info patchlevel
              Returns the value of the global variable tcl_patchLevel; see the tclvars manual entry for more
              information.

       info procs ?pattern?
              If pattern is not specified, returns a list of all the names of Tcl command procedures in  the
              current  namespace.  If pattern is specified, only those procedure names in the current names-pace namespace
              pace matching pattern are returned.  Matching is determined using the same rules as for string
              match.  If pattern contains any namespace separators, they are used to select a namespace rel-ative relative
              ative to the current namespace (or relative to the global namespace if pattern starts with ::)
              to match within; the matching pattern is taken to be the part after the last namespace separa-tor. separator.
              tor.

       info script ?filename?
              If a Tcl script file is currently being evaluated (i.e. there is a call to Tcl_EvalFile active
              or there is an active invocation of the source command), then this command returns the name of
              the innermost file being processed.  If filename is specified, then the return value  of  this
              command  will be modified for the duration of the active invocation to return that name.  This
              is useful in virtual file system applications.  Otherwise the command returns an empty string.

       info sharedlibextension
              Returns the extension used on this platform for the names of files containing shared libraries
              (for example, .so under Solaris).  If shared libraries are not supported on this platform then
              an empty string is returned.

       info tclversion
              Returns  the  value  of the global variable tcl_version; see the tclvars manual entry for more
              information.

       info vars ?pattern?
              If pattern is not specified, returns a list of all the names of  currently-visible  variables.
              This includes locals and currently-visible globals.  If pattern is specified, only those names
              matching pattern are returned.  Matching is determined using the  same  rules  as  for  string
              match.  pattern can be a qualified name like Foo::option*.  That is, it may specify a particu-lar particular
              lar namespace using a sequence of namespace names separated by double  colons  (::),  and  may
              have  pattern  matching  special  characters  at the end to specify a set of variables in that
              namespace.  If pattern is a qualified name, the resulting list  of  variable  names  has  each
              matching  namespace variable qualified with the name of its namespace.  Note that a currently-visible currentlyvisible
              visible variable may not yet "exist" if it has not been set (e.g. a variable declared but  not
              set by variable).

EXAMPLE
       This command prints out a procedure suitable for saving in a Tcl script:

              proc printProc {procName} {
                  set result [list proc $procName]
                  set formals {}
                  foreach var [info args $procName] {
                      if {[info default $procName $var def]} {
                          lappend formals [list $var $def]
                      } else {
                          # Still need the list-quoting because variable
                          # names may properly contain spaces.
                          lappend formals [list $var]
                      }
                  }
                  puts [lappend result $formals [info body $procName]]
              }

SEE ALSO
       global(n), proc(n)

KEYWORDS
       command, information, interpreter, level, namespace, procedure, variable



Tcl                                                  8.4                                             info(n)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации к проекту Tcl.
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API к Apple через Генератор отчетов Ошибки и к проекту Tcl через их страницу создания отчетов ошибки.
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.