EXIST Test for Existence
Section: Inspection Functions
Usage
Tests for the existence of a variable, function, directory or file. The general syntax for its use isy = 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 outkind)
kind specification out, in which case
the calling syntax is
y = exist(item)
The return code is one of the following:
- 0 - if
itemdoes not exist - 1 - if
itemis a variable in the workspace - 2 - if
itemis an M file on the search path, a full pathname to a file, or an ordinary file on your search path - 5 - if
itemis a built-in FreeMat function - 7 - if
itemis a directory
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.
Example
Some examples of theexist 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.0744 -0.7000 -1.8022 -0.0255 -0.2933
-0.0152 -0.5401 -0.2030 -0.5437 0.9261
-0.4359 -1.2334 0.5156 0.0821 -0.5065
(:,:,2) =
0.7408 0.6302 -0.2798 0.7279 1.7674
0.9063 -1.7321 -0.8851 -0.4091 -0.5516
1.4880 0.5030 0.6747 -0.5492 1.1867
--> b = []
b =
[]
--> who
Variable Name Type Flags Size
a double [3 5 2]
b double [0 0]
--> exist('a')
ans =
1
--> exist('b')
ans =
1
--> exist('c')
ans =
0
