help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Globally global variables


From: taltman
Subject: Re: Globally global variables
Date: Wed, 24 Dec 2003 23:36:28 +0000 (UTC)

Hi Joe,

The variables to the right of the function name are the return values
of the function. They must be assigned a value before the termination
of the M-file, otherwise an error is signaled. You can return multiple
values by putting more variables within brackets:

function [ month, day, year ] = date ()
...

Global variables can be defined within any scope (top-level, within a
M-file, etc. ), but any called function which wishes to access that
global variable must declare it locally. This is all described in the
Octave manual:

http://www.octave.org/doc/octave_10.html#SEC67

So, you can do this (Octave 2.1.50)

octave> global x
octave> x = 5
x = 5
octave> function new_val = increment_x ()
> global x;
> x = x + 1;
> new_val = x;
> endfunction
octave> increment_x
ans = 6
octave> increment_x
ans = 7
octave> increment_x
ans = 8
octave> 

Is anything else confusing? Trust me, as a quick search of the
help-octave archives will prove, I was very confused regarding
this as well. :-)

~Tomer


On Dec 24, 2003 at 12:23pm, Joe Koski wrote:

jkoski >Date: Wed, 24 Dec 2003 12:23:31 -0700
jkoski >From: Joe Koski <address@hidden>
jkoski >To: address@hidden
jkoski >Subject: Globally global variables
jkoski >Resent-Date: Wed, 24 Dec 2003 13:23:39 -0600
jkoski >Resent-From: address@hidden
jkoski >
jkoski >As a new octave user, one of the things confusing me is global 
variables. 1)
jkoski >Functions have a return list in square brackets, that other functions 
easily
jkoski >find. 2) The manual says that global variables must be declared in the
jkoski >function called, not in the calling program. So be it.
jkoski >
jkoski >To get my variables to appear at the top octave level, it appears that I
jkoski >must declare the variables as global both at the top level and in the 
octave
jkoski >.m function. Is this true? If it is, then what is the purpose of the 
return
jkoski >list in square brackets to the right of the function name?
jkoski >
jkoski >Thanks.
jkoski >
jkoski >Joe Koski
jkoski >
jkoski >
jkoski >
jkoski >-------------------------------------------------------------
jkoski >Octave is freely available under the terms of the GNU GPL.
jkoski >
jkoski >Octave's home on the web:  http://www.octave.org
jkoski >How to fund new projects:  http://www.octave.org/funding.html
jkoski >Subscription information:  http://www.octave.org/archive.html
jkoski >-------------------------------------------------------------
jkoski >
jkoski >



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]