Skip to content

Commit afee618

Browse files
committed
Added documentation on function for globals
1 parent 72915ca commit afee618

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed

Diff for: include/mruby/variable.h

+58
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,67 @@ MRB_API mrb_bool mrb_iv_defined(mrb_state*, mrb_value, mrb_sym);
5454
MRB_API mrb_value mrb_iv_remove(mrb_state *mrb, mrb_value obj, mrb_sym sym);
5555
MRB_API void mrb_iv_copy(mrb_state *mrb, mrb_value dst, mrb_value src);
5656
MRB_API mrb_bool mrb_const_defined_at(mrb_state *mrb, mrb_value mod, mrb_sym id);
57+
58+
/**
59+
* Get a global variable. Will return nil if the var does not exist
60+
*
61+
* Example:
62+
*
63+
* !!!ruby
64+
* # Ruby style
65+
* var = $value
66+
*
67+
* !!!c
68+
* // C style
69+
* mrb_sym sym = mrb_intern_cstr(mrb, "$value");
70+
* mrb_value var = mrb_gv_get(mrb, sym);
71+
*
72+
* @param mrb The mruby state reference
73+
* @param sym The name of the global variable
74+
* @return The value of that global variable. May be nil
75+
*/
5776
MRB_API mrb_value mrb_gv_get(mrb_state *mrb, mrb_sym sym);
77+
78+
/**
79+
* Set a global variable
80+
*
81+
* Example:
82+
*
83+
* !!!ruby
84+
* # Ruby style
85+
* $value = "foo"
86+
*
87+
* !!!c
88+
* // C style
89+
* mrb_sym sym = mrb_intern_cstr(mrb, "$value");
90+
* mrb_gv_set(mrb, sym, mrb_str_new_cstr("foo"));
91+
*
92+
* @param mrb The mruby state reference
93+
* @param sym The name of the global variable
94+
* @param val The value of the global variable
95+
*/
5896
MRB_API void mrb_gv_set(mrb_state *mrb, mrb_sym sym, mrb_value val);
97+
98+
/**
99+
* Remove a global variable.
100+
*
101+
* Example:
102+
*
103+
* !!!ruby
104+
* # Ruby style
105+
* $value = nil
106+
*
107+
* !!!c
108+
* // C style
109+
* mrb_sym sym = mrb_intern_cstr(mrb, "$value");
110+
* mrb_gv_remove(mrb, sym);
111+
*
112+
* @param mrb The mruby state reference
113+
* @param sym The name of the global variable
114+
* @param val The value of the global variable
115+
*/
59116
MRB_API void mrb_gv_remove(mrb_state *mrb, mrb_sym sym);
117+
60118
MRB_API mrb_value mrb_cv_get(mrb_state *mrb, mrb_value mod, mrb_sym sym);
61119
MRB_API void mrb_mod_cv_set(mrb_state *mrb, struct RClass * c, mrb_sym sym, mrb_value v);
62120
MRB_API void mrb_cv_set(mrb_state *mrb, mrb_value mod, mrb_sym sym, mrb_value v);

0 commit comments

Comments
 (0)