入門mruby Cからmruby APIを使いこなす p22 mrb_fixnum_plusではなく mrb_num_plus


このエントリーをはてなブックマークに追加

Yamanekkoさんの入門mrubyの本読んでる
『入門mruby Cからmruby APIを使いこなす』(Yamanekko 著) - 達人出版会BOOTH支店 - BOOTH

p22のplus.c

13行目にmrb_fixnum_plus(mrb, n1, n2); が使われているが mrb_fixnum_plusは最新のmrubyではつかわれておらず

mrb_num_plusに変わったらしい

Make unused functions private. · mruby/mruby@237a57b

というわけで足し算は下記でできる

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <mruby.h>
#include <mruby/compile.h>
#include <mruby/numeric.h>
int main(void){
mrb_value val;
mrb_state *mrb = mrb_open();
mrb_value n1;
mrb_value n2;
mrb_int a = 12;
mrb_int b = 24;
n1 = mrb_fixnum_value(a);
n2 = mrb_fixnum_value(b);
val = mrb_num_plus(mrb, n1, n2);
mrb_p(mrb, val);
mrb_close(mrb);
return 0;
}

割り算の mrb_num_divもなくなったっぽいが、わからないのでとりあえず省略した


このエントリーをはてなブックマークに追加