Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語
Справка Scilab >> Scilab > Переменные > exists

exists

проверяет существование переменной

Синтаксис

ve = exists(name [,where])

Аргументы

ve

результат с возможными значениями: 1, если "истина";

0, если "ложь";

name

символьная строка

where

необязательный символ с возможными значениями 'l' (локальный), 'n' (нелокальный) и 'a' (все). Значение по умолчанию 'a'.

Описание

exists(name) возвращает 1, если переменная с именем name существует, в противном случае -- 0.

Предостережение: функция, которая использует exists может вернуть результат, зависящий от окружения!

exists(name,'l') возвращает 1, если переменная с именем name существует в окружении текущей функции, в противном случае -- 0.

exists(name,'n') возвращает 1, если переменная с именем name существует на любом уровне вызывающего окружения (включая главный уровень командной строки Scilab'а) текущей функции, в противном случае -- 0.

Внимание: функция exists не проверяет существование переменной в пространстве имён глобальных переменных (global).

Примеры

exists("myNotLikelyToExistVariable")
myNotLikelyToExistVariable = 1;
exists("myNotLikelyToExistVariable")
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","a"));
    disp(exists("a","l"));
    disp(exists("a","n"));
  endfunction
  level2()
endfunction
function go()
  a=1;
  level1()
endfunction
go()

Смотрите также

  • isdef — проверяет существование переменной
  • isglobal — проверка, является ли переменная глобальной
  • whereis — name of library containing a function
  • type — возвращает тип переменной
  • typeof — explicit type or overloading code of an object
  • macrovar — переменные в функции
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:13:18 CET 2017