int rb_scan_args(int argc, const VALUE *argv, const char *fmt, ...) 長さ argc の配列 argv を fmt に従って 解析し、第四引数以降で渡されたアドレスに書き込みます。 fmt のフォーマットは以下の通りです。 必須引数の数 (省略可能な引数があるなら省略不可) 省略可能な引数の数 (ゼロ個ならば省略可) 残りの引数を Ruby の配列として受け取ることを示す '*' (省略可) 最後の引数をオプションハッシュとして受け取る事を示す ':' (省略可) ブロックを Proc オブジェクト化して受け取ることを示す '&' (省略可) これらの指定文字はそれぞれ省略可能ですが、 必ずこの順番で現れなければいけません。 使用例 VALUE a, b, optv; rb_scan_args(argc, argv, "21