FreeMat
|
Section: Inspection Functions
Tests for the existence of a variable, function, directory or file. The general syntax for its use is
y = exist(item,kind)
where item
is a string containing the name of the item to look for, and kind
is a string indicating the type of the search. The kind
must be one of
'builtin'
checks for built-in functions 'dir'
checks for directories 'file'
checks for files 'var'
checks for variables 'all'
checks all possibilities (same as leaving out kind
) You can also leave the kind
specification out, in which case the calling syntax is
y = exist(item)
The return code is one of the following:
item
does not exist item
is a variable in the workspace item
is an M file on the search path, a full pathname to a file, or an ordinary file on your search path item
is a built-in FreeMat function item
is a directory Note: previous to version 1.10
, exist
used a different notion of existence for variables: a variable was said to exist if it was defined and non-empty. This test is now performed by isset
.
Some examples of the exist
function. Note that generally exist
is used in functions to test for keywords. For example,
function y = testfunc(a, b, c) if (~exist('c')) % c was not defined, so establish a default c = 13; end y = a + b + c;
An example of exist
in action.
--> a = randn(3,5,2) a = (:,:,1) = 0.7785 0.6357 1.7582 1.5784 -0.8470 0.7235 1.0468 -0.6919 -0.6796 0.4767 0.2100 0.0865 1.5704 -0.1267 2.1381 (:,:,2) = 1.5525 -0.2908 -1.4220 1.1076 0.2419 0.1652 -0.5668 -0.8018 -0.5975 0.8483 0.3147 -0.1109 -0.5203 0.5851 1.1503 --> b = [] b = [] --> who Variable Name Type Flags Size a double [3x5x2] b double [0x0] --> exist('a') ans = 1 --> exist('b') ans = 1 --> exist('c') ans = 0