Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - Русский


exists

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

Синтаксис

ve = exists(name)
ve = exists(name, where)

Аргументы

name

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

where

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

ve

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

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

Описание

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 — Returns the name of the loaded library/module a given function belongs to
  • type — возвращает тип переменной
  • typeof — explicit type or overloading code of an object
  • macrovar — переменные в функции
Report an issue
<< clearglobal Переменные global >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Oct 24 14:37:05 CEST 2023