Section: Inspection Functions
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
)
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
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
.
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.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