Name

exists — checks variable existence

Calling Sequence

exists(name [,where])

Parameters

name

a character string

where

an optional character with possible values: 'l' (local), 'n' (nolocal) and 'a' (all). The default value is 'all'.

Description

exists(name) returns 1 if the variable named name exists and 0 otherwise.

Caveats: a function which uses exists may return a result which depends on the environment!

exists(name,'local') returns 1 if the variable named name exists in the environment of the current function and 0 otherwise.

exists(name,'nolocal') returns 1 if the variable named name exists in any level of the calling environment (including the Scilab shell main level) of the current function and 0 otherwise.

Warning: the exists function does not check if a variable exists in the global namespace.

Examples


deff('foo(x)',..
['disp([exists(''a12''),exists(''a12'',''local'')])'
 'disp([exists(''x''),exists(''x'',''local'')])'])
foo(1)
a12=[];foo(1)

function level1()
  function level2()
    disp(exists("a","all"));
    disp(exists("a","local"));
    disp(exists("a","nolocal"));
  endfunction
  level2()
endfunction
function go()
  a=1;
  level1()
endfunction
go()
 
  

See Also

isdef, isglobal, whereis, type, typeof, macrovar