diff options
| author | Yukihiro Matz Matsumoto <[email protected]> | 2012-11-04 05:02:39 +0900 |
|---|---|---|
| committer | Yukihiro Matz Matsumoto <[email protected]> | 2012-11-04 05:02:39 +0900 |
| commit | d2d2e9f5f9267c2583aa542b4066d109a07b742e (patch) | |
| tree | c9c5747bfbb489c063ad72e4d68b0de3e818ac1f /src/array.c | |
| parent | 051777dc5de7e16ab28d39530fc0bb8101323e2c (diff) | |
| download | mruby-d2d2e9f5f9267c2583aa542b4066d109a07b742e.tar.gz mruby-d2d2e9f5f9267c2583aa542b4066d109a07b742e.zip | |
add new predicates mrb_string_p(),mrb_array_p(),mrb_hash_p()
Diffstat (limited to 'src/array.c')
| -rw-r--r-- | src/array.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/array.c b/src/array.c index 6b901b4ee..abe5d6379 100644 --- a/src/array.c +++ b/src/array.c @@ -294,7 +294,7 @@ mrb_ary_cmp(mrb_state *mrb, mrb_value ary1) int i, len; mrb_get_args(mrb, "o", &ary2); - if (mrb_type(ary2) != MRB_TT_ARRAY) return mrb_nil_value(); + if (!mrb_array_p(ary2)) return mrb_nil_value(); a1 = RARRAY(ary1); a2 = RARRAY(ary2); if (a1->len == a2->len && a1->ptr == a2->ptr) return mrb_fixnum_value(0); else { @@ -616,7 +616,7 @@ mrb_ary_splice(mrb_state *mrb, mrb_value ary, mrb_int head, mrb_int len, mrb_val tail = head + len; /* size check */ - if (mrb_type(rpl) == MRB_TT_ARRAY) { + if (mrb_array_p(rpl)) { argc = RARRAY_LEN(rpl); argv = RARRAY_PTR(rpl); } @@ -848,7 +848,7 @@ mrb_ary_rindex_m(mrb_state *mrb, mrb_value self) mrb_value mrb_ary_splat(mrb_state *mrb, mrb_value v) { - if (mrb_type(v) == MRB_TT_ARRAY) { + if (mrb_array_p(v)) { return v; } else { @@ -928,7 +928,7 @@ inspect_ary(mrb_state *mrb, mrb_value ary, mrb_value list) if (i > 0) { mrb_str_buf_cat(mrb, arystr, sep, sizeof(sep)); } - if (mrb_type(RARRAY_PTR(ary)[i]) == MRB_TT_ARRAY) { + if (mrb_array_p(RARRAY_PTR(ary)[i])) { s = inspect_ary(mrb, RARRAY_PTR(ary)[i], list); } else { s = mrb_inspect(mrb, RARRAY_PTR(ary)[i]); @@ -1068,7 +1068,7 @@ mrb_ary_equal(mrb_state *mrb, mrb_value ary1) mrb_get_args(mrb, "o", &ary2); if (mrb_obj_equal(mrb, ary1, ary2)) return mrb_true_value(); if (SPECIAL_CONST_P(ary2)) return mrb_false_value(); - if (mrb_type(ary2) != MRB_TT_ARRAY) { + if (!mrb_array_p(ary2)) { if (!mrb_respond_to(mrb, ary2, mrb_intern(mrb, "to_ary"))) { return mrb_false_value(); } @@ -1107,7 +1107,7 @@ mrb_ary_eql(mrb_state *mrb, mrb_value ary1) mrb_get_args(mrb, "o", &ary2); if (mrb_obj_equal(mrb, ary1, ary2)) return mrb_true_value(); - if (mrb_type(ary2) != MRB_TT_ARRAY) return mrb_false_value(); + if (!mrb_array_p(ary2)) return mrb_false_value(); if (RARRAY_LEN(ary1) != RARRAY_LEN(ary2)) return mrb_false_value(); else { int i; |
