(octave.info)Accessing Global Variables in Oct-Files


Next: Calling Octave Functions from Oct-Files Prev: Sparse Matrices in Oct-Files Up: Oct-Files
Enter node , (file) or (file)node

A.1.7 Accessing Global Variables in Oct-Files
---------------------------------------------

Global variables allow variables in the global scope to be accessed.
Global variables can be accessed within oct-files by 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 if 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")
     {
       if (args.length () != 1)
         print_usage ();
     
       octave_value retval;
     
       std::string s = args(0).string_value ();
     
       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


automatically generated by info2www version 1.2.2.9