From: matz@... (Yukihiro Matsumoto) Date: 2001-12-28T11:48:15+09:00 Subject: [ruby-talk:29507] Re: C extensions to Ruby: classes vs. types Hi, In message "[ruby-talk:29494] C extensions to Ruby: classes vs. types" on 01/12/28, Tomasz Wegrzanowski writes: |I want to do something like that: | |static VALUE myclass_mymethod(VALUE self, VALUE arg) |{ | VALUE ac = arg->class; | VALUE result; | | if (ac.instanceof?(CLASS1) | { result action1; } | else if (ac.kindof?(CLASS2)) | { result = action2; } | else | { throw exception } | return result; |} static VALUE myclass_mymethod(VALUE self, VALUE arg) { VALUE result; if (rb_obj_kind_of(arg, CLASS1)) { result = action1; } if (rb_obj_kind_of(arg, CLASS2)) { result = action2; } else { rb_raise(rb_eSomeError, "throw exception"); } return result; }