Slide 27
Slide 27 text
optional
// ext/speedy_gem/speedy_gem.c!
!
#include "ruby.h"!
!
VALUE SpeedyGemClass = Qnil;!
!
void Init_rubyconf() {!
SpeedyGemClass = rb_define_class("SpeedyGem", rb_cObject);!
rb_define_method(SpeedyGemClass, "say_hi", rb_say_hi, -1);!
}!
!
VALUE rb_say_hi(int argc, VALUE *argv, VALUE self) {!
VALUE phrase = rb_str_new2("Hello, ");!
VALUE name;!
rb_scan_args(argc, argv, "01", &name);!
!
if(!RTEST(name))!
name = rb_str_new2("World");!
!
rb_str_append(phrase, name);!
return phrase;!
} !