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

 

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

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

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

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

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

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

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



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



____________________________________________________________________________________________________________

NAME
       unknown - Handle attempts to use non-existent commands

SYNOPSIS
       unknown cmdName ?arg arg ...?
____________________________________________________________________________________________________________

DESCRIPTION
       This  command is invoked by the Tcl interpreter whenever a script tries to invoke a command that does
       not exist.  The default implementation of unknown is a library procedure defined when Tcl initializes
       an  interpreter.  You can override the default unknown to change its functionality, or you can regis-ter register
       ter a new handler for individual namespaces using the namespace unknown command.  Note that there  is
       no default implementation of unknown in a safe interpreter.

       If  the Tcl interpreter encounters a command name for which there is not a defined command (in either
       the current namespace, or the global namespace), then Tcl checks for the existence of an unknown han-dler handler
       dler  for  the current namespace. By default, this handler is a command named ::unknown.  If there is
       no such command, then the interpreter returns an error.  If the unknown command exists (or a new han-dler handler
       dler  has been registered for the current namespace), then it is invoked with arguments consisting of
       the fully-substituted name and arguments for the original non-existent command.  The unknown  command
       typically  does  things  like  searching through library directories for a command procedure with the
       name cmdName, or expanding abbreviated command  names  to  full-length,  or  automatically  executing
       unknown  commands  as  sub-processes.   In  some cases (such as expanding abbreviations) unknown will
       change the original command slightly and then (re-)execute it.  The result of the unknown command  is
       used as the result for the original non-existent command.

       The  default implementation of unknown behaves as follows.  It first calls the auto_load library pro-cedure procedure
       cedure to load the command.  If this succeeds, then it executes the original command with its  origi-nal original
       nal  arguments.   If  the  auto-load  fails then unknown calls auto_execok to see if there is an exe-cutable executable
       cutable file by the name cmd.  If so, it invokes the Tcl exec command with cmd and all  the  args  as
       arguments.   If cmd cannot be auto-executed, unknown checks to see if the command was invoked at top-level toplevel
       level and outside of any script.  If so, then unknown takes two additional steps.  First, it sees  if
       cmd  has  one  of the following three forms: !!, !event, or ^old^new?^?.  If so, then unknown carries
       out history substitution in the same way that csh  would  for  these  constructs.   Finally,  unknown
       checks  to  see  if  cmd is a unique abbreviation for an existing Tcl command.  If so, it expands the
       command name and executes the command with the original arguments.  If none of the above efforts  has
       been  able  to  execute  the  command,  unknown  generates  an  error return.  If the global variable
       auto_noload is defined, then the auto-load step is skipped.  If the global  variable  auto_noexec  is
       defined then the auto-exec step is skipped.  Under normal circumstances the return value from unknown
       is the return value from the command that was eventually executed.

EXAMPLE
       Arrange for the unknown command to have its standard behavior except for first logging the fact  that
       a command was not found:

              # Save the original one so we can chain to it
              rename unknown _original_unknown

              # Provide our own implementation
              proc unknown args {
                  puts stderr "WARNING: unknown command: $args"
                  uplevel 1 [list _original_unknown {*}$args]
              }

SEE ALSO
       info(n), proc(n), interp(n), library(n), namespace(n)

KEYWORDS
       error, non-existent command



Tcl                                                                                               unknown(n)

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

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

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