The OpenNET Project / Index page

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

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

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

SetVar (3)
  • >> SetVar (3) ( Solaris man: Библиотечные вызовы )
  • 
    _________________________________________________________________
    
    NAME
         Tcl_SetVar2Ex,  Tcl_SetVar,   Tcl_SetVar2,   Tcl_ObjSetVar2,
         Tcl_GetVar2Ex,   Tcl_GetVar,   Tcl_GetVar2,  Tcl_ObjGetVar2,
         Tcl_UnsetVar, Tcl_UnsetVar2 - manipulate Tcl variables
    
    SYNOPSIS
         #include <tcl.h>
    
         Tcl_Obj *                                                     |
         Tcl_SetVar2Ex(interp, name1, name2, newValuePtr, flags)       |
    
         char *
         Tcl_SetVar(interp, varName, newValue, flags)
    
         char *
         Tcl_SetVar2(interp, name1, name2, newValue, flags)
    
         Tcl_Obj *
         Tcl_ObjSetVar2(interp, part1Ptr, part2Ptr, newValuePtr, flags)
    
         Tcl_Obj *                                                     |
         Tcl_GetVar2Ex(interp, name1, name2, flags)                    |
    
         char *
         Tcl_GetVar(interp, varName, flags)
    
         char *
         Tcl_GetVar2(interp, name1, name2, flags)
    
         Tcl_Obj *
         Tcl_ObjGetVar2(interp, part1Ptr, part2Ptr, flags)
    
         int
         Tcl_UnsetVar(interp, varName, flags)
    
         int
         Tcl_UnsetVar2(interp, name1, name2, flags)
    
    ARGUMENTS
         Tcl_Interp   *interp        (in)      Interpreter containing
                                               variable.
    
         char         *name1         (in)      Contains the  name  of
                                               an  array variable (if
                                               name2 is non-NULL)  or
                                               (if   name2  is  NULL)
                                               either the name  of  a
                                               scalar  variable  or a
                                               complete name  includ-
                                               ing both variable name
                                               and    index.      May
                                               include  ::  namespace
                                               qualifiers to  specify
                                               a  variable  in a par-
                                               ticular namespace.
    
         char         *name2         (in)      If   non-NULL,   gives
                                               name of element within
                                               array;  in  this  case
                                               name1 must refer to an
                                               array variable.
    
         Tcl_Obj      *newValuePtr   (in)      Points to a Tcl object  |
                                               containing   the   new  |
                                               value  for  the  vari-  |
                                               able.
    
         int          flags          (in)      OR-ed  combination  of
                                               bits  providing  addi-
                                               tional    information.
                                               See  below  for  valid
                                               values.
    
         char         *varName       (in)      Name of variable.  May
                                               include  ::  namespace
                                               qualifiers to  specify
                                               a  variable  in a par-
                                               ticular     namespace.
                                               May  refer to a scalar
                                               variable or an element
                                               of  an  array.  If the
                                               name   references   an
                                               element  of  an array,
                                               then the name must  be
                                               in   writable  memory:
                                               Tcl  will  make   tem-
                                               porary   modifications
                                               to it while looking up
                                               the name.
    
         char         *newValue      (in)      New  value  for  vari-
                                               able,  specified  as a
                                               NULL-terminated
                                               string.    A  copy  of
                                               this value  is  stored
                                               in the variable.
    
         Tcl_Obj      *part1Ptr      (in)      Points to a Tcl object
                                               containing         the
                                               variable's name.   The
                                               name   may  include  a
                                               series of :: namespace
                                               qualifiers  to specify
                                               a variable in  a  par-
                                               ticular     namespace.
                                               May refer to a  scalar
                                               variable or an element
                                               of an array variable.
    
         Tcl_Obj      *part2Ptr      (in)      If non-NULL, points to
                                               an  object  containing
                                               the name of an element
                                               within  an  array  and
                                               part1Ptr must refer to
                                               an array variable.
    _________________________________________________________________
    
    
    DESCRIPTION
         These procedures are  used  to  create,  modify,  read,  and
         delete Tcl variables from C code.
    
         Tcl_SetVar2Ex, Tcl_SetVar, Tcl_SetVar2,  and  Tcl_ObjSetVar2  |
         will create a new variable or modify an existing one.  These  |
         procedures set the given variable  to  the  value  given  by  |
         newValuePtr   or  newValue  and  return  a  pointer  to  the  |
         variable's new value, which  is  stored  in  Tcl's  variable  |
         structure.   Tcl_SetVar2Ex  and  Tcl_ObjSetVar2 take the new  |
         value as a Tcl_Obj  and  return  a  pointer  to  a  Tcl_Obj.  |
         Tcl_SetVar  and  Tcl_SetVar2  take the new value as a string  |
         and return a string; they are usually  less  efficient  than  |
         Tcl_ObjSetVar2.  Note that the return value may be different  |
         than the newValuePtr or newValue argument, due to  modifica-
         tions  made  by write traces.  If an error occurs in setting
         the variable (e.g. an array variable is  referenced  without
         giving  an  index  into  the  array) NULL is returned and an
         error  message  is  left   in   interp's   result   if   the
         TCL_LEAVE_ERR_MSG flag bit is set.
    
         Tcl_GetVar2Ex, Tcl_GetVar, Tcl_GetVar2,  and  Tcl_ObjGetVar2  |
         return  the  current  value of a variable.  The arguments to  |
         these procedures are treated in the same way  as  the  argu-  |
         ments  to the procedures described above.  Under normal cir-  |
         cumstances, the return value is a pointer to the  variable's  |
         value.   For  Tcl_GetVar2Ex  and Tcl_ObjGetVar2 the value is  |
         returned as a pointer to  a  Tcl_Obj.   For  Tcl_GetVar  and  |
         Tcl_GetVar2  the value is returned as a string; this is usu-  |
         ally less efficient, so Tcl_GetVar2Ex or Tcl_ObjGetVar2  are  |
         preferred.   If  an  error occurs while reading the variable
         (e.g. the variable doesn't exist  or  an  array  element  is
         specified  for a scalar variable), then NULL is returned and
         an  error  message  is  left  in  interp's  result  if   the
         TCL_LEAVE_ERR_MSG flag bit is set.
    
         Tcl_UnsetVar and Tcl_UnsetVar2 may be used to remove a vari-
         able,  so  that  future  attempts  to read the variable will
         return an error.  The  arguments  to  these  procedures  are
         treated  in  the same way as the arguments to the procedures
         above.  If the variable is successfully removed then  TCL_OK
         is  returned.   If the variable cannot be removed because it
         doesn't exist then TCL_ERROR is returned and an  error  mes-
         sage  is  left  in  interp's result if the TCL_LEAVE_ERR_MSG
         flag bit is set.  If an  array  element  is  specified,  the
         given element is removed but the array remains.  If an array
         name is specified without an index, then the entire array is
         removed.
    
         The name of a variable may be specified to these  procedures
         in four ways:
    
         [1]  If Tcl_SetVar, Tcl_GetVar, or Tcl_UnsetVar is  invoked,
              the variable name is given as a single string, varName.
              If varName contains an open parenthesis and ends with a
              close   parenthesis,   then   the   value  between  the
              parentheses is treated as an index (which can have  any
              string  value) and the characters before the first open
              parenthesis are treated as the name of an  array  vari-
              able.  If varName doesn't have parentheses as described
              above, then the entire string is treated as the name of
              a scalar variable.
    
         [2]  If the name1 and name2 arguments are provided and name2
              is non-NULL, then an array element is specified and the
              array name and index have already been separated by the
              caller:  name1 contains the name and name2 contains the
              index.  An error is generated  if  name1   contains  an  |
              open  parenthesis  and  ends  with  a close parenthesis  |
              (array element) and name2 is non-NULL.                   |
    
         [3]                                                                ||
              If name2 is NULL, name1 is treated just like varName in  |
              case [1] above (it can be either a scalar or  an  array  |
              element variable name).
    
         The flags argument may be used to  specify  any  of  several
         options to the procedures.  It consists of an OR-ed combina-
         tion of the following bits.
    
         TCL_GLOBAL_ONLY
              Under normal circumstances the procedures look up vari-
              ables  as  follows.   If  a procedure call is active in
              interp, the variable is looked up at the current  level
              of  procedure  call.  Otherwise, the variable is looked
              up first in the current namespace, then in  the  global
              namespace.   However,  if this bit is set in flags then
              the variable is looked up only in the global  namespace
              even  if  there  is  a  procedure call active.  If both
              TCL_GLOBAL_ONLY  and  TCL_NAMESPACE_ONLY   are   given,
              TCL_GLOBAL_ONLY is ignored.
    
         TCL_NAMESPACE_ONLY
              If this bit is set in flags then the variable is looked
              up  only  in  the  current namespace; if a procedure is
              active  its  variables  are  ignored,  and  the  global
              namespace  is  also  ignored  unless  it is the current
              namespace.
    
         TCL_LEAVE_ERR_MSG
              If an error is returned and this bit is set  in  flags,
              then an error message will be left in the interpreter's
              result, where it can be retrieved with Tcl_GetObjResult
              or  Tcl_GetStringResult.   If  this  flag bit isn't set
              then no error message is  left  and  the  interpreter's
              result will not be modified.
    
         TCL_APPEND_VALUE
              If this bit is set  then  newValuePtr  or  newValue  is
              appended  to the current value instead of replacing it.
              If the variable is currently undefined, then the bit is
              ignored.   This  bit  is only used by the Tcl_Set* pro-
              cedures.
    
         TCL_LIST_ELEMENT
              If this bit is set, then newValue  is  converted  to  a
              valid Tcl list element before setting (or appending to)
              the variable.  A separator space is appended before the
              new list element unless the list element is going to be
              the first element  in  a  list  or  sublist  (i.e.  the
              variable's current value is empty, or contains the sin-
              gle character ``{'', or ends in `` }'').
    
         Tcl_GetVar and Tcl_GetVar2 return the  current  value  of  a
         variable.   The arguments to these procedures are treated in
         the same way as the arguments to Tcl_SetVar and Tcl_SetVar2.
         Under normal circumstances, the return value is a pointer to
         the variable's value (which  is  stored  in  Tcl's  variable
         structure  and  will  not  change  before  the  next call to
         Tcl_SetVar or Tcl_SetVar2).  Tcl_GetVar and Tcl_GetVar2  use
         the flag bits TCL_GLOBAL_ONLY and TCL_LEAVE_ERR_MSG, both of
         which have the same meaning as for Tcl_SetVar.  If an  error
         occurs  in  reading  the variable (e.g. the variable doesn't
         exist or an array element is specified for  a  scalar  vari-
         able), then NULL is returned.
    
         Tcl_UnsetVar and Tcl_UnsetVar2 may be used to remove a vari-
         able,  so that future calls to Tcl_GetVar or Tcl_GetVar2 for
         the variable will return an error.  The arguments  to  these
         procedures  are  treated in the same way as the arguments to
         Tcl_GetVar and Tcl_GetVar2.  If the variable is successfully
         removed  then TCL_OK is returned.  If the variable cannot be
         removed because it doesn't exist then TCL_ERROR is returned.
         If  an  array  element  is  specified,  the given element is
         removed but the array remains.  If an array name  is  speci-
         fied without an index, then the entire array is removed.
    
    
    SEE ALSO
         Tcl_GetObjResult, Tcl_GetStringResult, Tcl_TraceVar
    
    
    KEYWORDS
         array,  get  variable,  interpreter,  object,  scalar,  set,
         unset, variable
    
    
    
    


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




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

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