Slide 37
Slide 37 text
static VALUE world_hello(int argc, VALUE *argv, VALUE obj) {
VALUE name, greeting;
rb_scan_args(argc, argv, "01", &name);
if (NIL_P(name)) {
greeting = rb_str_new("Hello, World!", 13);
} else {
greeting = rb_str_new("Hello, ", 7);
rb_str_cat(greeting, RSTRING_PTR(name), RSTRING_LEN(name));
rb_str_cat(greeting, "!", 1);
}
return greeting;
}