Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes


clear

kills variables

Syntax

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

Arguments

a, b, c...

names of variables of any type and size, but not protected

Description

This command kills variables which are not protected. It removes the named variables from the environment. By itself clear kills all the variables except the variables protected by predef. Thus the two commands predef(0) and clear remove all the variables.

Normally, protected variables are standard libraries and variables with the percent prefix.

Note the particular syntax clear a and clear('a') and not clear(a). Note also that a=[] does not kill a but sets a to an empty matrix.

If a name Var matches no variable, clear Var does nothing silently.

clear() can be overloaded for any mlist("foo") type, by defining a %foo_clear() macro. It will be called either when clear is explicitly applied to any mlist of this type, or implicitly when any mlist of this type is deleted when leaving the environment where it has been defined.

Examples

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 // will print "deleted"

See also

  • predef — variable protection
  • clearglobal — kills global variables
  • funcprot — switch scilab functions protection mode
  • who — listing of variables
  • xmlDelete — Delete a XML document

History

VersionDescription
5.5.0 Argument can now be a matrix of strings
6.0.0 clear is now protected: Assignments like clear=1 are no longer possible.
6.1.0 clear becomes overloadable for any mlist("foo"), with %foo_clear().
Report an issue
<< checkNamedArguments Variables clearglobal >>

Copyright (c) 2022-2023 (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:
Mon Nov 07 14:58:49 CET 2022