mruby 3.3.0
mruby is the lightweight implementation of the Ruby language
Loading...
Searching...
No Matches
Typedefs | Functions
variable.h File Reference

More...

#include "common.h"
Include dependency graph for variable.h:

Go to the source code of this file.

Typedefs

typedef int() mrb_iv_foreach_func(mrb_state *, mrb_sym, mrb_value, void *)
 

Functions

mrb_value mrb_const_get (mrb_state *, mrb_value, mrb_sym)
 Functions to access mruby variables.
 
void mrb_const_set (mrb_state *, mrb_value, mrb_sym, mrb_value)
 
mrb_bool mrb_const_defined (mrb_state *, mrb_value, mrb_sym)
 
void mrb_const_remove (mrb_state *, mrb_value, mrb_sym)
 
mrb_bool mrb_iv_name_sym_p (mrb_state *mrb, mrb_sym sym)
 
void mrb_iv_name_sym_check (mrb_state *mrb, mrb_sym sym)
 
mrb_value mrb_obj_iv_get (mrb_state *mrb, struct RObject *obj, mrb_sym sym)
 
void mrb_obj_iv_set (mrb_state *mrb, struct RObject *obj, mrb_sym sym, mrb_value v)
 
mrb_bool mrb_obj_iv_defined (mrb_state *mrb, struct RObject *obj, mrb_sym sym)
 
mrb_value mrb_iv_get (mrb_state *mrb, mrb_value obj, mrb_sym sym)
 
void mrb_iv_set (mrb_state *mrb, mrb_value obj, mrb_sym sym, mrb_value v)
 
mrb_bool mrb_iv_defined (mrb_state *, mrb_value, mrb_sym)
 
mrb_value mrb_iv_remove (mrb_state *mrb, mrb_value obj, mrb_sym sym)
 
void mrb_iv_copy (mrb_state *mrb, mrb_value dst, mrb_value src)
 
mrb_bool mrb_const_defined_at (mrb_state *mrb, mrb_value mod, mrb_sym id)
 
mrb_value mrb_gv_get (mrb_state *mrb, mrb_sym sym)
 Get a global variable.
 
void mrb_gv_set (mrb_state *mrb, mrb_sym sym, mrb_value val)
 Set a global variable.
 
void mrb_gv_remove (mrb_state *mrb, mrb_sym sym)
 Remove a global variable.
 
mrb_value mrb_cv_get (mrb_state *mrb, mrb_value mod, mrb_sym sym)
 
void mrb_mod_cv_set (mrb_state *mrb, struct RClass *c, mrb_sym sym, mrb_value v)
 
void mrb_cv_set (mrb_state *mrb, mrb_value mod, mrb_sym sym, mrb_value v)
 
mrb_bool mrb_cv_defined (mrb_state *mrb, mrb_value mod, mrb_sym sym)
 
void mrb_iv_foreach (mrb_state *mrb, mrb_value obj, mrb_iv_foreach_func *func, void *p)
 

Detailed Description

See Copyright Notice in mruby.h

Function Documentation

◆ mrb_gv_get()

mrb_value mrb_gv_get ( mrb_state mrb,
mrb_sym  sym 
)

Get a global variable.

Will return nil if the var does not exist

Example:

!!!ruby
# Ruby style
var = $value

!!!c
// C style
mrb_sym sym = mrb_intern_lit(mrb, "$value");
mrb_value var = mrb_gv_get(mrb, sym);
Parameters
mrbThe mruby state reference
symThe name of the global variable
Returns
The value of that global variable. May be nil

◆ mrb_gv_remove()

void mrb_gv_remove ( mrb_state mrb,
mrb_sym  sym 
)

Remove a global variable.

Example:

# Ruby style
$value = nil

// C style
mrb_sym sym = mrb_intern_lit(mrb, "$value");
mrb_gv_remove(mrb, sym);
Parameters
mrbThe mruby state reference
symThe name of the global variable

◆ mrb_gv_set()

void mrb_gv_set ( mrb_state mrb,
mrb_sym  sym,
mrb_value  val 
)

Set a global variable.

Example:

!!!ruby
# Ruby style
$value = "foo"

!!!c
// C style
mrb_sym sym = mrb_intern_lit(mrb, "$value");
mrb_gv_set(mrb, sym, mrb_str_new_lit("foo"));
Parameters
mrbThe mruby state reference
symThe name of the global variable
valThe value of the global variable