-
void rb_define_method(VALUE klass, const char *name, VALUE(*func)(), int argc)
-
クラスklassのインスタンスメソッドnameを定義します。
argcはCの関数へ渡される引数の数(と形式)を決めます.
- argcが0以上の時
-
argcで指定した値がそのメソッドの引数の数になります。 16個以上の引数は使えません,
VALUE func(VALUE self, VALUE arg1, ... VALUE argN)
- argcが-1のとき
-
引数はCの配列として第二引数に入れて渡されます。第一引数は配列の要素数です。
VALUE func(int argc, VALUE *argv, VALUE self)
- argcが-2のとき
-
引数はRubyの配列に入れて渡されます。
VALUE func(VALUE self, VALUE args)
rb_scan_args も参照