Next: , Previous: , Up: Function Files   [Contents][Index]


11.9.2 Subfunctions

A function file may contain secondary functions called subfunctions. These secondary functions are only visible to the other functions in the same function file. For example, a file f.m containing

function f ()
  printf ("in f, calling g\n");
  g ()
endfunction
function g ()
  printf ("in g, calling h\n");
  h ()
endfunction
function h ()
  printf ("in h\n")
endfunction

defines a main function f and two subfunctions. The subfunctions g and h may only be called from the main function f or from the other subfunctions, but not from outside the file f.m.

: localfunctions ()

Return a list of all local functions, i.e., subfunctions, within the current file.

The return value is a column cell array of function handles to all local functions accessible from the function from which localfunctions is called. Nested functions are not included in the list.

If the call is from the command line, an anonymous function, or a script, the return value is an empty cell array.

Compatibility Note: Subfunctions which contain nested functions are not included in the list. This is a known issue.