octave: Subfunctions

 
 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.