Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.0.0 - English

Change language to:
Français - 日本語 - Português - Русский

Please note that the recommended version of Scilab is 2024.1.0. This page might be outdated.
See the recommended documentation of this function

Scilab Help >> Scilab > Variables > predef


variable protection


n = predef()
oldnew = predef(n)
oldnew = predef('all')
oldnew = predef('clear')
variables_name = predef('names')


Utility function used for defining "oldest" variables as "protected". Protected variables cannot be killed. They are not saved by the save command. The "oldest" are those appearing last in the who('get').

predef() gets the number of protected variables.

predef('a[ll]') sets all the variables protected, it also return the old and new value of protected variables number.

predef('c[lear]') unprotect all but the last 7 variables, it also return the old and new value of protected variables number.

predef(n) sets the max(n,7) last defined variables as protected, it also return the old and new value of protected variables number.

predef('names') returns a vector of strings with the name of protected variables.

predef('clear') removes the predefined variables from the list.


Variable ans created automatically when expressions are not assigned is never protected by predef('all').

A number of protected variables are set in the start-up file SCI/etc/scilab.start. User may in particular set its own predefined variables in user's startup files SCIHOME/.scilab or SCIHOME/scilab.ini

Note that it is not possible to protect a new defined variable by using predef(1). This means that to protect a variable, Scilab needs to protect all the variables that have been defined before it. This limitation may disappear with Scilab 6, which will not be stack-designed.


a = 1;
clear a // fails
clear a // works

See also

  • clear — kills variables
  • save — Save a variable or a serie of variables in a binary file
  • ans — answer
  • startup — startup files
Report an issue
<< names Variables who >>

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 Feb 14 15:02:38 CET 2017