From 743432d4ecc2052f6808d1e1012eb356e85ccb1e Mon Sep 17 00:00:00 2001 From: Ralph Desir Date: Thu, 3 Sep 2015 14:52:21 -0400 Subject: Update range.h.md --- doc/api/mruby/range.h.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/doc/api/mruby/range.h.md b/doc/api/mruby/range.h.md index e69de29bb..188e6ede6 100644 --- a/doc/api/mruby/range.h.md +++ b/doc/api/mruby/range.h.md @@ -0,0 +1,47 @@ +#### mrb_range_new +```C + mrb_value mrb_range_new(mrb_state*, mrb_value, mrb_value, mrb_bool); +``` +Initializes a Range. The first mrb_value being the beginning value and second being the ending value. +The third parameter is an mrb_bool value that represents the inclusion or exclusion of the last value. +If the third parameter is 0 then it includes the last value in the range. If the third parameter is 1 +then it excludes the last value in the range. +C code +```C + #include + #include + #include "mruby/range.h" // Needs the range header. + #include "mruby/compile.h" + + int main(int argc, char *argv[]) + { + mrb_int beg = 0; + mrb_int end = 2; + mrb_bool exclude = 1; + mrb_value range_obj; + mrb_state *mrb = mrb_open(); + if (!mrb) { /* handle error */ } + FILE *fp = fopen("test.rb","r"); + range_obj = mrb_range_new(mrb, mrb_fixnum_value(beg), mrb_fixnum_value(end), exclude); + mrb_value obj = mrb_load_file(mrb,fp); + mrb_funcall(mrb, obj, "method_name", 1, range_obj); + fclose(fp); + mrb_close(mrb); + return 0; + } +``` +Ruby code +```Ruby + class Example_Class + def method_name(a) + puts a + puts a.class + end + end + Example_Class.new +``` +This returns the following: +```Ruby + 0...2 + Range +``` -- cgit v1.2.3