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.8887 -0.2749 -0.1202 0.2347 0.2815
-0.9052 0.2688 1.9047 -0.0533 -1.6196
-1.6519 0.1689 0.5134 -0.5795 0.7863
(:,:,2) =
0.8246 -0.5823 -0.6986 0.3591 -2.5987
-0.5022 2.4368 1.2679 -1.4748 -0.4239
-0.9966 -0.5530 -0.3325 2.2984 0.5024
--> 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
-->
quit
