mruby  2.0.1
mruby is the lightweight implementation of the Ruby language
Classes | Typedefs | Functions
variable.h File Reference

More...

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

Go to the source code of this file.

Classes

struct  global_variable
 Functions to access mruby variables. More...
 
struct  global_entry
 

Typedefs

typedef struct global_variable global_variable
 Functions to access mruby variables.
 
typedef int() mrb_iv_foreach_func(mrb_state *, mrb_sym, mrb_value, void *)
 

Functions

mrb_value mrb_vm_special_get (mrb_state *, mrb_sym)
 
void mrb_vm_special_set (mrb_state *, mrb_sym, mrb_value)
 
mrb_value mrb_vm_cv_get (mrb_state *, mrb_sym)
 
void mrb_vm_cv_set (mrb_state *, mrb_sym, mrb_value)
 
mrb_value mrb_vm_const_get (mrb_state *, mrb_sym)
 
void mrb_vm_const_set (mrb_state *, mrb_sym, mrb_value)
 
mrb_value mrb_const_get (mrb_state *, mrb_value, mrb_sym)
 
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. More...
 
void mrb_gv_set (mrb_state *mrb, mrb_sym sym, mrb_value val)
 Set a global variable. More...
 
void mrb_gv_remove (mrb_state *mrb, mrb_sym sym)
 Remove a global variable. More...
 
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)
 
mrb_value mrb_obj_iv_inspect (mrb_state *, struct RObject *)
 
void mrb_obj_iv_set_force (mrb_state *mrb, struct RObject *obj, mrb_sym sym, mrb_value v)
 
mrb_value mrb_mod_constants (mrb_state *mrb, mrb_value mod)
 
mrb_value mrb_f_global_variables (mrb_state *mrb, mrb_value self)
 
mrb_value mrb_obj_instance_variables (mrb_state *, mrb_value)
 
mrb_value mrb_mod_class_variables (mrb_state *, mrb_value)
 
mrb_value mrb_mod_cv_get (mrb_state *mrb, struct RClass *c, mrb_sym sym)
 
mrb_bool mrb_mod_cv_defined (mrb_state *mrb, struct RClass *c, mrb_sym sym)
 
mrb_bool mrb_ident_p (const char *s, mrb_int len)
 
void mrb_gc_mark_gv (mrb_state *)
 
void mrb_gc_free_gv (mrb_state *)
 
void mrb_gc_mark_iv (mrb_state *, struct RObject *)
 
size_t mrb_gc_mark_iv_size (mrb_state *, struct RObject *)
 
void mrb_gc_free_iv (mrb_state *, struct RObject *)
 
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