Next: Calling Octave Functions from Oct-Files, Previous: Sparse Matrices in Oct-Files, Up: Oct-Files
Global variables allow variables in the global scope to be
accessed. Global variables can easily be accessed with oct-files using
the support functions get_global_value and
set_global_value. get_global_value takes two arguments,
the first is a string representing the variable name to obtain. The
second argument is a boolean argument specifying what to do in the case
that no global variable of the desired name is found. An example of the
use of these two functions is
#include <octave/oct.h>
DEFUN_DLD (globaldemo, args, , "Global demo.")
{
int nargin = args.length ();
octave_value retval;
if (nargin != 1)
print_usage ();
else
{
std::string s = args(0).string_value ();
if (! error_state)
{
octave_value tmp = get_global_value (s, true);
if (tmp.is_defined ())
retval = tmp;
else
retval = "Global variable not found";
set_global_value ("a", 42.0);
}
}
return retval;
}
An example of its use is
global a b
b = 10;
globaldemo ("b")
=> 10
globaldemo ("c")
=> "Global variable not found"
num2str (a)
=> 42