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/struct.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/struct.c')
| -rw-r--r-- | src/struct.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/struct.c b/src/struct.c index be57468e1..2ae904fa5 100644 --- a/src/struct.c +++ b/src/struct.c @@ -58,7 +58,7 @@ mrb_struct_s_members(mrb_state *mrb, mrb_value klass) if (mrb_nil_p(members)) { mrb_raise(mrb, E_TYPE_ERROR, "uninitialized struct"); } - if (mrb_type(members) != MRB_TT_ARRAY) { + if (!mrb_array_p(members)) { mrb_raise(mrb, E_TYPE_ERROR, "corrupted struct"); } return members; @@ -381,7 +381,7 @@ mrb_struct_s_def(mrb_state *mrb, mrb_value klass) else { if (argc > 0) name = argv[0]; if (argc > 1) rest = argv[1]; - if (mrb_type(rest) == MRB_TT_ARRAY) { + if (mrb_array_p(rest)) { if (!mrb_nil_p(name) && mrb_symbol_p(name)) { /* 1stArgument:symbol -> name=nil rest=argv[0]-[n] */ mrb_ary_unshift(mrb, rest, name); @@ -417,7 +417,7 @@ num_members(mrb_state *mrb, struct RClass *klass) { mrb_value members; members = struct_ivar_get(mrb, mrb_obj_value(klass), mrb_intern(mrb, "__members__")); - if (mrb_type(members) != MRB_TT_ARRAY) { + if (!mrb_array_p(members)) { mrb_raise(mrb, E_TYPE_ERROR, "broken members"); } return RARRAY_LEN(members); @@ -588,7 +588,7 @@ mrb_struct_aref_n(mrb_state *mrb, mrb_value s, mrb_value idx) { long i; - if (mrb_type(idx) == MRB_TT_STRING || mrb_type(idx) == MRB_TT_SYMBOL) { + if (mrb_string_p(idx) || mrb_symbol_p(idx)) { return mrb_struct_aref_id(mrb, s, mrb_to_id(mrb, idx)); } @@ -668,7 +668,7 @@ mrb_struct_aset(mrb_state *mrb, mrb_value s) mrb_get_args(mrb, "oo", &idx, &val); - if (mrb_type(idx) == MRB_TT_STRING || mrb_type(idx) == MRB_TT_SYMBOL) { + if (mrb_string_p(idx) || mrb_symbol_p(idx)) { return mrb_struct_aset_id(mrb, s, mrb_to_id(mrb, idx), val); } |
