キーワード
検索結果
先頭5件
- void rb
_ define _ method(VALUE klass , const char *name , VALUE(*func)() , int argc) - void rb
_ define _ method _ id(VALUE klass , ID name , VALUE (*func)() , int argc) - void rb
_ define _ private _ method(VALUE klass , const char *name , VALUE(*func)() , int argc) - void rb
_ define _ protected _ method(VALUE klass , const char *name , VALUE (*func)() , int argc) - void rb
_ define _ singleton _ method(VALUE obj , const char *name , VALUE (*func)() , int argc)
-
void rb
_ define _ method(VALUE klass , const char *name , VALUE(*func)() , int argc) (132601.0) -
クラスklassのインスタンスメソッドnameを定義します。
クラス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... -
void rb
_ define _ method _ id(VALUE klass , ID name , VALUE (*func)() , int argc) (36697.0) -
klass に public メソッド name を定義します。 その実体は関数 func です。また argc の意味は rb_define_method と同じです。
klass に public メソッド name を定義します。
その実体は関数 func です。また argc の意味は
rb_define_method と同じです。 -
void rb
_ define _ private _ method(VALUE klass , const char *name , VALUE(*func)() , int argc) (18397.0) -
クラス klass にプライベートインスタンスメソッド name を 定義します。その実体は関数 func であり、その関数がとる 引数のタイプを argc で指定します。argc のフォーマットに ついては rb_define_method の項を参照してください。
クラス klass にプライベートインスタンスメソッド name を
定義します。その実体は関数 func であり、その関数がとる
引数のタイプを argc で指定します。argc のフォーマットに
ついては rb_define_method の項を参照してください。 -
void rb
_ define _ protected _ method(VALUE klass , const char *name , VALUE (*func)() , int argc) (18397.0) -
クラス klass に protected インスタンスメソッド name を 定義します。その実体は関数 func であり、その関数がとる 引数のタイプを argc で指定します。argc のフォーマットに ついては rb_define_method の項を参照してください。
クラス klass に protected インスタンスメソッド name を
定義します。その実体は関数 func であり、その関数がとる
引数のタイプを argc で指定します。argc のフォーマットに
ついては rb_define_method の項を参照してください。 -
void rb
_ define _ singleton _ method(VALUE obj , const char *name , VALUE (*func)() , int argc) (18397.0) -
obj に特異メソッド name を定義します。 メソッドの実体を func に関数ポインタで与え、その関数がとる 引数のタイプを argc に渡します。argc のフォーマットに ついては rb_define_method の記述を参照してください。
obj に特異メソッド name を定義します。
メソッドの実体を func に関数ポインタで与え、その関数がとる
引数のタイプを argc に渡します。argc のフォーマットに
ついては rb_define_method の記述を参照してください。 -
rdoc
/ parser / c (181.0) -
C 言語で記述されたソースコードから組み込みクラス/モジュールのドキュメン トを解析するためのサブライブラリです。
C 言語で記述されたソースコードから組み込みクラス/モジュールのドキュメン
トを解析するためのサブライブラリです。
C 言語で記述された拡張ライブラリなどを解析するのに使用します。
rb_define_class や rb_define_method などで定義されたものに
対応する C 言語の関数のコメントを解析します。
例: Array#flatten の場合。rb_ary_flatten のコメントが解析されます。
/*
* Returns a new array that is a one-dimensional flattening of this
* arra... -
void rb
_ define _ global _ function(const char *name , VALUE (*func)() , int argc) (97.0) -
関数 name を定義します。 func と argc は rb_define_method と同じです。
関数 name を定義します。
func と argc は rb_define_method と同じです。
例:
static VALUE
return_obj_dup(VALUE obj)
{
VALUE dup = rb_obj_dup(obj); // オブジェクトを複製
return dup;
}
void Init_func() {
rb_define_global_function("dup_obj", return_obj_dup, 1); // 関数 dup_objを定義しています。
... -
void rb
_ define _ module _ function(VALUE module , const char *name , VALUE (*func)() , int argc) (97.0) -
モジュール module にモジュール関数 name を定義します。 func と argc は rb_define_method と同じです。
モジュール module にモジュール関数 name を定義します。
func と argc は rb_define_method と同じです。 -
VALUE rb
_ catch(const char *tag , VALUE (*proc)() , VALUE data) (73.0) -
catch と同等の動作を実行します。
catch と同等の動作を実行します。
まず proc に、yield された値と data を渡して実行します。
その途中で tag が throw されたら rb_catch 全体を終了します。
throw が発生した場合はその値を返します。
throw が発生しなかったときは proc の返り値を返します。
static VALUE
foo_yield(VALUE a, VALUE b)
{
return rb_yield(b);
}
static VALUE
foo_catch(VALUE obj)
{
return rb_...