mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #6150 from dearblue/itself
Introduce `mrb_obj_itself()`
This commit is contained in:
+9
-15
@@ -744,18 +744,14 @@ flo_lshift(mrb_state *mrb, mrb_value x)
|
||||
|
||||
/* 15.2.9.3.13 */
|
||||
/*
|
||||
* Document-method: Float#to_f
|
||||
*
|
||||
* call-seq:
|
||||
* flt.to_f -> self
|
||||
*
|
||||
* As <code>flt</code> is already a float, returns +self+.
|
||||
*/
|
||||
|
||||
static mrb_value
|
||||
flo_to_f(mrb_state *mrb, mrb_value num)
|
||||
{
|
||||
return num;
|
||||
}
|
||||
|
||||
/* 15.2.9.3.11 */
|
||||
/*
|
||||
* call-seq:
|
||||
@@ -1105,19 +1101,17 @@ flo_abs(mrb_state *mrb, mrb_value num)
|
||||
|
||||
/* 15.2.9.3.24 */
|
||||
/*
|
||||
* Document-method: Integer#to_i
|
||||
* Document-method: Integer#to_int
|
||||
*
|
||||
* call-seq:
|
||||
* int.to_i -> integer
|
||||
* int.to_int -> integer
|
||||
*
|
||||
* As <i>int</i> is already an <code>Integer</code>, all these
|
||||
* methods simply return the receiver.
|
||||
*/
|
||||
|
||||
static mrb_value
|
||||
int_to_i(mrb_state *mrb, mrb_value num)
|
||||
{
|
||||
return num;
|
||||
}
|
||||
|
||||
mrb_value
|
||||
mrb_int_mul(mrb_state *mrb, mrb_value x, mrb_value y)
|
||||
{
|
||||
@@ -2237,8 +2231,8 @@ mrb_init_numeric(mrb_state *mrb)
|
||||
mrb_define_method_id(mrb, integer, MRB_OPSYM(gt), num_gt, MRB_ARGS_REQ(1));
|
||||
mrb_define_method_id(mrb, integer, MRB_OPSYM(ge), num_ge, MRB_ARGS_REQ(1));
|
||||
|
||||
mrb_define_method_id(mrb, integer, MRB_SYM(to_i), int_to_i, MRB_ARGS_NONE()); /* 15.2.8.3.24 */
|
||||
mrb_define_method_id(mrb, integer, MRB_SYM(to_int), int_to_i, MRB_ARGS_NONE());
|
||||
mrb_define_method_id(mrb, integer, MRB_SYM(to_i), mrb_obj_itself, MRB_ARGS_NONE()); /* 15.2.8.3.24 */
|
||||
mrb_define_method_id(mrb, integer, MRB_SYM(to_int), mrb_obj_itself, MRB_ARGS_NONE());
|
||||
|
||||
mrb_define_method_id(mrb, integer, MRB_OPSYM(add), int_add, MRB_ARGS_REQ(1)); /* 15.2.8.3.1 */
|
||||
mrb_define_method_id(mrb, integer, MRB_OPSYM(sub), int_sub, MRB_ARGS_REQ(1)); /* 15.2.8.3.2 */
|
||||
@@ -2301,7 +2295,7 @@ mrb_init_numeric(mrb_state *mrb)
|
||||
mrb_define_method_id(mrb, fl, MRB_SYM(floor), flo_floor, MRB_ARGS_OPT(1)); /* 15.2.9.3.10 */
|
||||
mrb_define_method_id(mrb, fl, MRB_SYM_Q(infinite),flo_infinite_p, MRB_ARGS_NONE()); /* 15.2.9.3.11 */
|
||||
mrb_define_method_id(mrb, fl, MRB_SYM(round), flo_round, MRB_ARGS_OPT(1)); /* 15.2.9.3.12 */
|
||||
mrb_define_method_id(mrb, fl, MRB_SYM(to_f), flo_to_f, MRB_ARGS_NONE()); /* 15.2.9.3.13 */
|
||||
mrb_define_method_id(mrb, fl, MRB_SYM(to_f), mrb_obj_itself, MRB_ARGS_NONE()); /* 15.2.9.3.13 */
|
||||
mrb_define_method_id(mrb, fl, MRB_SYM(to_i), flo_to_i, MRB_ARGS_NONE()); /* 15.2.9.3.14 */
|
||||
mrb_define_method_id(mrb, fl, MRB_SYM(truncate), flo_truncate, MRB_ARGS_OPT(1)); /* 15.2.9.3.15 */
|
||||
mrb_define_method_id(mrb, fl, MRB_SYM(divmod), flo_divmod, MRB_ARGS_REQ(1));
|
||||
|
||||
@@ -649,3 +649,9 @@ mrb_eql(mrb_state *mrb, mrb_value obj1, mrb_value obj2)
|
||||
if (mrb_class(mrb, obj1) != mrb_class(mrb, obj2)) return FALSE;
|
||||
return mrb_test(mrb_funcall_argv(mrb, obj1, MRB_SYM_Q(eql), 1, &obj2));
|
||||
}
|
||||
|
||||
MRB_API mrb_value
|
||||
mrb_obj_itself(mrb_state *mrb, mrb_value self)
|
||||
{
|
||||
return self;
|
||||
}
|
||||
|
||||
+3
-7
@@ -441,6 +441,8 @@ sym_name(mrb_state *mrb, mrb_value vsym)
|
||||
|
||||
/* 15.2.11.3.4 */
|
||||
/*
|
||||
* Document-method: Symbol#to_sym
|
||||
*
|
||||
* call-seq:
|
||||
* sym.to_sym -> sym
|
||||
* sym.intern -> sym
|
||||
@@ -450,12 +452,6 @@ sym_name(mrb_state *mrb, mrb_value vsym)
|
||||
* in this case.
|
||||
*/
|
||||
|
||||
static mrb_value
|
||||
sym_to_sym(mrb_state *mrb, mrb_value sym)
|
||||
{
|
||||
return sym;
|
||||
}
|
||||
|
||||
/* 15.2.11.3.5(x) */
|
||||
/*
|
||||
* call-seq:
|
||||
@@ -696,7 +692,7 @@ mrb_init_symbol(mrb_state *mrb)
|
||||
|
||||
mrb_define_method_id(mrb, sym, MRB_SYM(to_s), sym_to_s, MRB_ARGS_NONE()); /* 15.2.11.3.3 */
|
||||
mrb_define_method_id(mrb, sym, MRB_SYM(name), sym_name, MRB_ARGS_NONE());
|
||||
mrb_define_method_id(mrb, sym, MRB_SYM(to_sym), sym_to_sym, MRB_ARGS_NONE()); /* 15.2.11.3.4 */
|
||||
mrb_define_method_id(mrb, sym, MRB_SYM(to_sym), mrb_obj_itself, MRB_ARGS_NONE()); /* 15.2.11.3.4 */
|
||||
mrb_define_method_id(mrb, sym, MRB_SYM(inspect), sym_inspect, MRB_ARGS_NONE()); /* 15.2.11.3.5(x) */
|
||||
mrb_define_method_id(mrb, sym, MRB_OPSYM(cmp), sym_cmp, MRB_ARGS_REQ(1));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user