clear all inside function
Jaroslav Hajek
highegg at gmail.com
Wed Jun 10 08:27:19 CDT 2009
On Wed, Jun 10, 2009 at 3:17 PM, John W. Eaton<jwe at octave.org> wrote:
> 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?
>
Maybe it is true, and Matlab simply can automatically find
subfunctions when in a parent function.
I do, however, consider this a totally useless feature. Why the hell
would anyone want to clear all functions within a function?
--
RNDr. Jaroslav Hajek
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz
More information about the Octave-maintainers
mailing list