Kouhei Sutou
null+****@clear*****
Sat Jun 25 22:48:52 JST 2016
Kouhei Sutou 2016-06-25 22:48:52 +0900 (Sat, 25 Jun 2016) New Revision: 3b1f4c6f16227588f1c2d86aa29e765e3e4dc694 https://github.com/groonga/groonga/commit/3b1f4c6f16227588f1c2d86aa29e765e3e4dc694 Message: mrb: support grn_expr_code::nargs Modified files: lib/mrb/mrb_expr.c Modified: lib/mrb/mrb_expr.c (+18 -0) =================================================================== --- lib/mrb/mrb_expr.c 2016-06-25 22:21:38 +0900 (eef6256) +++ lib/mrb/mrb_expr.c 2016-06-25 22:48:52 +0900 (a57cabd) @@ -380,6 +380,13 @@ mrb_grn_expr_code_inspect(mrb_state *mrb, mrb_value self) 0)); } + mrb_str_cat_lit(mrb, inspected, ", n_args="); + mrb_str_concat(mrb, inspected, + mrb_funcall(mrb, + mrb_fixnum_value(code->nargs), + "inspect", + 0)); + mrb_str_cat_lit(mrb, inspected, ", modify="); mrb_str_concat(mrb, inspected, mrb_funcall(mrb, @@ -437,6 +444,15 @@ mrb_grn_expr_code_get_value(mrb_state *mrb, mrb_value self) } static mrb_value +mrb_grn_expr_code_get_n_args(mrb_state *mrb, mrb_value self) +{ + grn_expr_code *expr_code; + + expr_code = DATA_PTR(self); + return mrb_fixnum_value(expr_code->nargs); +} + +static mrb_value mrb_grn_expr_code_get_op(mrb_state *mrb, mrb_value self) { grn_expr_code *expr_code; @@ -838,6 +854,8 @@ grn_mrb_expr_init(grn_ctx *ctx) mrb_grn_expr_code_get_weight, MRB_ARGS_NONE()); mrb_define_method(mrb, klass, "value", mrb_grn_expr_code_get_value, MRB_ARGS_NONE()); + mrb_define_method(mrb, klass, "n_args", + mrb_grn_expr_code_get_n_args, MRB_ARGS_NONE()); mrb_define_method(mrb, klass, "op", mrb_grn_expr_code_get_op, MRB_ARGS_NONE()); mrb_define_method(mrb, klass, "flags", -------------- next part -------------- HTML����������������������������...Download