clear all inside function

John W. Eaton jwe at octave.org
Wed Jun 10 08:17:34 CDT 2009


On 10-Jun-2009, Jaroslav Hajek wrote:

| On Tue, Jun 9, 2009 at 5:12 PM, John W. Eaton<jwe at octave.org> wrote:
| > What is supposed to happen with "clear all" inside a function?
| >
| > Given the claim that the program posted here
| >
| >  https://www-old.cae.wisc.edu/pipermail/help-octave/2009-June/014713.html
| >
| > works in Matlab, it seems it should not be clearing functions.  I
| > guess this works in 3.0.x, but with the current sources, and a .m file
| > containing the following
| >
| >  function main ()
| >    clear all
| >    sub
| >  end
| >  function sub ()
| >    'this is sub'
| >  end
| >
| > I see
| >
| >  octave:2> main
| >  error: `sub' undefined near line 3 column 3
| >  error: called from:
| >  error:   /scratch/jwe/build/octave/main.m at line 3, column 3
| >
| > jwe
| >
| 
| Matlab explicitly says that
| "All functions and global variables are cleared in both the function
| workspace and in your base workspace"

If that's correct, then how does the above work in Matlab?  Can
someone else verify that it does in fact work?

jwe



More information about the Octave-maintainers mailing list