全局变量允许访问全局范围内的变量。可以使用支持函数在oct文件中访问全局变量global_varval
以及global_assign
来自当前解释器的符号表。这两个函数都将一个字符串作为第一个参数,该字符串表示要获取或赋值的变量名。第二个参数global_assign
是要赋值的值。这两个函数的使用示例是
#include <octave/oct.h> #include <octave/interpreter.h> DEFMETHOD_DLD (globaldemo, interp, args, , "Global Demo") { if (args.length () != 1) print_usage (); octave_value retval; std::string s = args(0).string_value (); octave::symbol_table& symtab = interp.get_symbol_table (); octave_value tmp = symtab.global_varval (s); if (tmp.is_defined ()) retval = tmp; else retval = "Global variable not found"; symtab.global_assign ("a", 42.0); return retval; }
它的使用示例是
global a b b = 10; globaldemo ("b") ⇒ 10 globaldemo ("c") ⇒ "Global variable not found" num2str (a) ⇒ 42
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号