Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: Français - Português - Русский - 日本語
Scilab Help >> Scilab > Variables > exists

exists

checks variable existence

Syntax

ve = exists(name [,where])

Arguments

ve

a matrix with the same size as name with possible values: 1 if true, 0 if false

name

a matrix of character strings

where

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

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,'l') returns 1 if the variable named name exists in the environment of the current function and 0 otherwise.

exists(name,'n') 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

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

function level1()
  function level2()
    disp(exists(["a","b"],"a"));
    disp(exists(["a","b"],"l"));
    disp(exists(["a","b"],"n"));
  endfunction
  level2()
endfunction
function go()
  a=1;
  level1()
endfunction
go()

See Also

  • isdef — checks variable existence
  • isglobal — check if a variable is global
  • whereis — name of library containing a function
  • type — returns the type of a variable
  • typeof — Human-readable type or overloading code of an object
  • macrovar — variables of function
Scilab Enterprises
Copyright (c) 2011-2015 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jun 15 08:27:30 CEST 2016