VALUE module = rb_define_module("name");Add methods/functions to a module:
rb_define_method_function(module, "name", c_function, argc);Now the tricky part is that ruby adds a reference to the module when calling the function. c_function would look like this if it were to accept 1 parameter:
VALUE c_function(VALUE module, VALUE arg);In this case the argc parameter in the rb_define function should be 1 not 2 as you would expect.
Define a constant:
rb_define_const(module_or_class, "NAME", value);value is a VALUE.
No comments:
Post a Comment