The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

Eval (3)
  • >> Eval (3) ( Solaris man: Библиотечные вызовы )
  • 
    _________________________________________________________________
    
    NAME
         Tcl_EvalObjEx,   Tcl_EvalFile,    Tcl_EvalObjv,    Tcl_Eval,
         Tcl_EvalEx,  Tcl_GlobalEval, Tcl_GlobalEvalObj, Tcl_VarEval,
         Tcl_VarEvalVA - execute Tcl scripts
    
    SYNOPSIS
         #include <tcl.h>
    
         int                                                           |
         Tcl_EvalObjEx(interp, objPtr, flags)                          |
    
         int                                                           |
         Tcl_EvalFile(interp, fileName)                                |
    
         int                                                           |
         Tcl_EvalObjv(interp, objc, objv, flags)                       |
    
         int                                                           |
         Tcl_Eval(interp, script)                                      |
    
         int                                                           |
         Tcl_EvalEx(interp, script, numBytes, flags)                   |
    
         int                                                           |
         Tcl_GlobalEval(interp, script)                                |
    
         int                                                           |
         Tcl_GlobalEvalObj(interp, objPtr, flags)                      |
    
         int                                                           |
         Tcl_VarEval(interp, string, string, ... (char *) NULL)        |
    
         int                                                           |
         Tcl_VarEvalVA(interp, argList)                                |
    
    ARGUMENTS                                                          |
         Tcl_Interp   *interp      (in)                                     ||
                                             Interpreter  in which to  |
                                             execute the script.  The  |
                                             interpreter's  result is  |
                                             modified  to  hold   the  |
                                             result  or error message  |
                                             from the script.          |
    
         Tcl_Obj      *objPtr      (in)                                     ||
                                             A  Tcl object containing  |
                                             the script to execute.    |
    
         int          flags        (in)                                     ||
                                             ORed combination of flag  |
                                             bits that specify  addi-  |
                                             tional          options.  |
                                             TCL_EVAL_GLOBAL      and  |
                                             TCL_EVAL_DIRECT      are  |
                                             currently supported.      |
    
         char         *fileName    (in)                                     ||
                                             Name  of a file contain-  |
                                             ing a Tcl script.         |
    
         int          objc         (in)                                     ||
                                             The number of objects in  |
                                             the array pointed to  by  |
                                             objPtr; this is also the  |
                                             number of words  in  the  |
                                             command.                  |
    
         Tcl_Obj      **objv       (in)                                     ||
                                             Points  to  an  array of  |
                                             pointers   to   objects;  |
                                             each  object  holds  the  |
                                             value of a  single  word  |
                                             in  the  command to exe-  |
                                             cute.                     |
    
         int          numBytes     (in)                                     ||
                                             The  number  of bytes in  |
                                             script,  not   including  |
                                             any   null   terminating  |
                                             character.  If -1,  then  |
                                             all characters up to the  |
                                             first  null   byte   are  |
                                             used.                     |
    
         char         *script      (in)                                     ||
                                             Points  to first byte of  |
                                             script to execute.  This  |
                                             script  must be in writ-  |
                                             able  memory:  temporary  |
                                             modifications  are  made  |
                                             to it during parsing.     |
    
         char         *string      (in)                                     ||
                                             String forming part of a  |
                                             Tcl script.               |
    
         va_list      argList      (in)                                     ||
                                             An  argument  list which  |
                                             must have been  initial-  |
                                             ised               using  |
                                             TCL_VARARGS_START,   and  |
                                             cleared using va_end.     |
    
    _________________________________________________________________  |
    
    
    DESCRIPTION                                                        |
         The procedures described here are  invoked  to  execute  Tcl  |
         scripts  in  various  forms.  Tcl_EvalObjEx is the core pro-  |
         cedure and is used by many of the others.  It  executes  the  |
         commands  in  the  script  stored  in objPtr until either an  |
         error occurs or the end of the script is reached.   If  this  |
         is the first time objPtr has been executed, its commands are  |
         compiled into bytecode instructions which are then executed.  |
         The  bytecodes  are  saved in objPtr so that the compilation  |
         step can be skipped if the object is evaluated again in  the  |
         future.                                                       |
    
         The return value from Tcl_EvalObjEx (and all the other  pro-  |
         cedures described here) is a Tcl completion code with one of  |
         the values  TCL_OK,  TCL_ERROR,  TCL_RETURN,  TCL_BREAK,  or  |
         TCL_CONTINUE.   In addition, a result value or error message  |
         is left in  interp's  result;  it  can  be  retrieved  using  |
         Tcl_GetObjResult.                                             |
    
         Tcl_EvalFile reads the file given by fileName and  evaluates  |
         its  contents as a Tcl script.  It returns the same informa-  |
         tion as Tcl_EvalObjEx.  If the file couldn't be read then  a  |
         Tcl  error  is returned to describe why the file couldn't be  |
         read.                                                         |
    
         Tcl_EvalObjv executes a single pre-parsed command instead of  |
         a script.  The objc and objv arguments contain the values of  |
         the words for the Tcl command, one word in  each  object  in  |
         objv.  Tcl_EvalObjv evaluates the command and returns a com-  |
         pletion code and result just like Tcl_EvalObjEx.              |
    
         Tcl_Eval is similar to Tcl_EvalObjEx except that the  script  |
         to  be executed is supplied as a string instead of an object  |
         and no compilation occurs.  The string is  parsed  and  exe-  |
         cuted  directly (using Tcl_EvalObjv) instead of compiling it  |
         and executing the bytecodes.   In  situations  where  it  is  |
         known that the script will never be executed again, Tcl_Eval  |
         may be faster than Tcl_EvalObjEx.  Tcl_Eval returns  a  com-  |
         pletion  code and result just like Tcl_EvalObjEx.  Note: for  |
         backward  compatibility  with  versions  before   Tcl   8.0,  |
         Tcl_Eval  copies  the  object  result  in  interp to interp-  |
         >result  (use  is  deprecated)  where  it  can  be  accessed  |
         directly.    This   makes   Tcl_Eval  somewhat  slower  than  |
         Tcl_EvalEx, which doesn't do the copy.                        |
    
         Tcl_EvalEx is an extended version  of  Tcl_Eval  that  takes  |
         additional arguments numBytes and flags.  For the efficiency  |
         reason given above, Tcl_EvalEx is generally  preferred  over  |
         Tcl_Eval.                                                     |
         Tcl_GlobalEval and Tcl_GlobalEvalObj  are  older  procedures  |
         that are now deprecated.  They are similar to Tcl_EvalEx and  |
         Tcl_EvalObjEx except that the script  is  evaluated  in  the  |
         global namespace and its variable context consists of global  |
         variables only (it  ignores  any  Tcl  procedures  that  are  |
         active).   These  functions  are  equivalent  to  using  the  |
         TCL_EVAL_GLOBAL flag (see below).                             |
    
         Tcl_VarEval takes any number  of  string  arguments  of  any  |
         length,  concatenates  them into a single string, then calls  |
         Tcl_Eval to execute  that  string  as  a  Tcl  command.   It  |
         returns  the result of the command and also modifies interp-  |
         >result in the same way as Tcl_Eval.  The last  argument  to  |
         Tcl_VarEval  must  be NULL to indicate the end of arguments.  |
         Tcl_VarEval is now deprecated.                                |
    
         Tcl_VarEvalVA is the same as Tcl_VarEval except that instead  |
         of  taking  a variable number of arguments it takes an argu-  |
         ment list. Like Tcl_VarEval, Tcl_VarEvalVA is deprecated.     |
    
    
    FLAG BITS                                                          |
         Any ORed combination of the following values may be used for  |
         the flags argument to procedures such as Tcl_EvalObjEx:       |
    
         TCL_EVAL_DIRECT                                                    ||
                                This    flag    is   only   used   by  |
                                Tcl_EvalObjEx; it is ignored by other  |
                                procedures.  If this flag bit is set,  |
                                the  script  is   not   compiled   to  |
                                bytecodes;  instead  it  is  executed  |
                                directly as is  done  by  Tcl_EvalEx.  |
                                The TCL_EVAL_DIRECT flag is useful in  |
                                situations where the contents  of  an  |
                                object  are  going  to change immedi-  |
                                ately,  so  the  bytecodes  won't  be  |
                                reused  in  a  future  execution.  In  |
                                this case, it's faster to execute the  |
                                script directly.                       |
    
         TCL_EVAL_GLOBAL                                                    ||
                                If  this  flag  is set, the script is  |
                                processed  at  global  level.    This  |
                                means  that  it  is  evaluated in the  |
                                global  namespace  and  its  variable  |
                                context  consists of global variables  |
                                only (it ignores any  Tcl  procedures  |
                                at are active).                        |
    
    
    MISCELLANEOUS DETAILS                                              |
    
         During the processing of a Tcl command it is legal  to  make  |
         nested  calls  to  evaluate other commands (this is how pro-  |
         cedures and some control structures are implemented).  If  a  |
         code   other   than   TCL_OK   is  returned  from  a  nested  |
         Tcl_EvalObjEx invocation, then the  caller  should  normally  |
         return  immediately,  passing  that same return code back to  |
         its caller, and so on until  the  top-level  application  is  |
         reached.   A  few commands, like for, will check for certain  |
         return codes, like TCL_BREAK and TCL_CONTINUE,  and  process  |
         them specially without returning.                             |
    
         Tcl_EvalObjEx keeps track of how many  nested  Tcl_EvalObjEx  |
         invocations  are  in  progress  for  interp.   If  a code of  |
         TCL_RETURN,  TCL_BREAK,  or  TCL_CONTINUE  is  about  to  be  |
         returned  from  the  topmost  Tcl_EvalObjEx  invocation  for  |
         interp, it converts the return code to  TCL_ERROR  and  sets  |
         interp's  result  to  an  error  message indicating that the  |
         return, break, or continue command was invoked in  an  inap-  |
         propriate  place.   This  means  that top-level applications  |
         should never see a return code from Tcl_EvalObjEx other then  |
         TCL_OK or TCL_ERROR.
    
    
    KEYWORDS
         execute, file, global, object, result, script
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру