Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
function rb_define_method (Ruby 2.2.0)
[go: Go Back, main page]

Ruby 2.2.0 リファレンスマニュアル > 関数一覧 > rb_define_method

function rb_define_method

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 も参照