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


clear

уничтожает переменные

Синтаксис

clear a b c
clear('a','b','c')
clear(['a' 'b' 'c'])

Аргументы

a, b, c...

переменные любого типа и размера, но не защищённые.

Описание

Эта команда уничтожает переменные, которые не защищены. Она удаляет перечисленные переменные из окружения. Само по себе, без аргументов, clear уничтожает все переменные за исключением переменных, защищённых с помощью predef. Таким образом, две команды predef(0) и clear уничтожают все переменные.

Обычно защищёнными переменными являются стандартные библиотеки и переменные с префиксом процента.

Обратите внимание на особый синтаксис clear a b c и clear('a','b','c'), а не clear(a,b,c). Обратите также внимание на то, что a=[] не уничтожает a, а устанавливает a пустой матрицей.

Если имя Var не совпадает ни с одной из переменных, то clear Var тихо ничего не делает.

clear() может быть перегружена для любого типа mlist("foo"), с помощью определения макроса %foo_clear(). Он вызывается либо когда clear напрямую применяется к любому mlist-списку этого типа, либо неявно, когда любой mlist-список этого типа удалён при выходе из окружения, в котором он был определён.

Примеры

a = 2;
b = 3;
c = 4;
clear a
isdef("a") // F
isdef("b") // T
clear("b");
isdef("b") // F

a = 2;
b = 3;
c = 4;
clear(['a' 'b' 'c'])
isdef("a") | isdef("b") | isdef("c") // F
function %foo_clear(o)
    disp("deleted");
endfunction

value = mlist("foo");
clear value // будет напечатано "deleted"

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

  • predef — защита переменных
  • clearglobal — уничтожает глобальные переменные
  • funcprot — переключает режим защиты функций Scilab
  • who — список переменных
  • xmlDelete — Delete a XML document

История

ВерсияОписание
5.5.0 Теперь аргумент может быть матрицей строк
6.0.0 Теперь clear защищена: такие присвоения, как clear=1, более невозможны.
6.1.0 clear становится перегружаемой для любого mlist("foo") с помощью %foo_clear().
Report an issue
<< checkNamedArguments Переменные clearglobal >>

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:
Thu Oct 24 11:18:29 CEST 2024