22件ヒット
[1-22件を表示]
(0.331秒)
検索結果
-
void rb
_ define _ method(VALUE klass , const char *name , VALUE(*func)() , int argc) (44212.0) -
クラスklassのインスタンスメソッドnameを定義します。
...argcはCの関数へ渡される引数の数(と形式)を決めます.
: argcが0以上の時
argcで指定した値がそのメソッドの引数の数になります。
16個以上の引数は使えません,
VALUE func(VALUE self, VALUE arg1, ... VALUE argN)
: argcが-1......して第二引数に入れて渡されます。
第一引数は配列の要素数です。
VALUE func(int argc, VALUE *argv, VALUE self)
: argcが-2のとき
引数はRubyの配列に入れて渡されます。
VALUE func(VALUE self, VALUE args)
rb_scan_args も参照... -
rdoc
/ parser / c (6066.0) -
C 言語で記述されたソースコードから組み込みクラス/モジュールのドキュメン トを解析するためのサブライブラリです。
...用します。
rb_define_class や rb_define_method などで定義されたものに
対応する C 言語の関数のコメントを解析します。
例: Array#flatten の場合。rb_ary_flatten のコメントが解析されます。
/*
* Returns a new array that is a one-dimensional fl......attening of this
* array (recursively). That is, for every element that is an array,
* extract its elements into the new array.
*
* s = [ 1, 2, 3 ] #=> [1, 2, 3]
* t = [ 4, 5, 6, [7, 8] ] #=> [4, 5, 6, [7, 8]]
* a = [ s, t, 9, 10 ] #=> [[1, 2, 3], [4, 5,......atic VALUE
rb_ary_flatten(ary)
VALUE ary;
{
ary = rb_obj_dup(ary);
rb_ary_flatten_bang(ary);
return ary;
}
...
void
Init_Array()
{
...
rb_define_method(rb_cArray, "flatten", rb_ary_flatten, 0);
上記の例の場合、rb_ary_flatten...