|
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