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

function rb_scan_args

int rb_scan_args(int argc, const VALUE *argv, const char *fmt, ...)

長さ argc の配列 argv を fmt に従って 解析し、第四引数以降で渡されたアドレスに書き込みます。

fmt のフォーマットは以下の通りです。

これらの指定文字はそれぞれ省略可能ですが、 必ずこの順番で現れなければいけません。

使用例

VALUE a, b, optv;
rb_scan_args(argc, argv, "21", &a, &b, &optv);

対応する Ruby プログラムでの宣言

def some_method(a, b, opt = nil)

使用例 (2)

VALUE a, rest, block;
rb_scan_args(argc, argv, "1*&", &a, &rest, &block);

対応する Ruby プログラムでの宣言

def some_method(a, *rest, &block)

[SEE_ALSO] https://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/doc/extension.ja.rdoc?view=markup