isdef checks variable existence

## Syntax

    ve = isdef(name [,where])

## Arguments

ve

  a matrix with the same size as `name` with boolean values

name

  a matrix of character strings

where

  character string, can be `'l'` (for `"local"`), `'n'` (for `"nolocal"`) or `'a'` (for `"all"`). Default value is `'a'`.

## Description

`isdef(name)` returns `%T` if the variable named `name` exists and `%F` otherwise.

Caveats: a function which uses `isdef` may return a result which depends on the environment!

`isdef(name, 'l')` returns `%T` if the variable named `name` exists in the local environment of the current function and `%F` otherwise.

`isdef(name, 'n')` returns `%T` if the variable named `name` exists in the full calling environment (including the global level) of the current function and `%F` otherwise.

Note: only the first letter of option `where` is taken into account.

## Examples

    A = 1; B = 2; C = 3; D = 4;
    isdef(['A', 'B'; 'C', 'D'])
    clear A B C D;
    isdef(['A', 'B'; 'C', 'D'])

    function level1()
      function level2()
        disp(isdef(["a", "b"], "a"));
        disp(isdef(["a", "b"], "l"));
        disp(isdef(["a", "b"], "n"));
      endfunction
      level2()
    endfunction
    function go()
      a = 1;
      level1()
    endfunction
    go()

## See also

- exists
- isglobal
- whereis
- type
- typeof
- clear