From d2d2e9f5f9267c2583aa542b4066d109a07b742e Mon Sep 17 00:00:00 2001 From: Yukihiro Matz Matsumoto Date: Sun, 4 Nov 2012 05:02:39 +0900 Subject: add new predicates mrb_string_p(),mrb_array_p(),mrb_hash_p() --- include/mruby/value.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/mruby/value.h b/include/mruby/value.h index a6d0aab12..99b40914b 100644 --- a/include/mruby/value.h +++ b/include/mruby/value.h @@ -153,13 +153,16 @@ mrb_float_value(mrb_float f) #define mrb_float_p(o) (mrb_type(o) == MRB_TT_FLOAT) #define mrb_undef_p(o) (mrb_type(o) == MRB_TT_UNDEF) #define mrb_nil_p(o) (mrb_type(o) == MRB_TT_FALSE && !(o).value.i) +#define mrb_symbol_p(o) (mrb_type(o) == MRB_TT_SYMBOL) +#define mrb_array_p(o) (mrb_type(o) == MRB_TT_ARRAY) +#define mrb_string_p(o) (mrb_type(o) == MRB_TT_STRING) +#define mrb_hash_p(o) (mrb_type(o) == MRB_TT_HASH) #define mrb_test(o) (mrb_type(o) != MRB_TT_FALSE) #include "mruby/object.h" #define IMMEDIATE_P(x) (mrb_type(x) <= MRB_TT_MAIN) #define SPECIAL_CONST_P(x) IMMEDIATE_P(x) -#define mrb_symbol_p(o) (mrb_type(o) == MRB_TT_SYMBOL) #define RTEST(o) mrb_test(o) #define FL_ABLE(x) (!SPECIAL_CONST_P(x)) -- cgit v1.2.3