キーワード
-
rb
_ catch (11) -
rb
_ define _ global _ function (11) -
rb
_ define _ method _ id (11) -
rb
_ define _ module _ function (11) -
rb
_ define _ private _ method (11) -
rb
_ define _ protected _ method (11) -
rb
_ define _ singleton _ method (11) -
rdoc
/ parser / c (11)
検索結果
先頭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) - VALUE rb
_ catch(const char *tag , VALUE (*proc)() , VALUE data) - void rb
_ define _ module _ function(VALUE module , const char *name , VALUE (*func)() , int argc) - void rb
_ define _ private _ method(VALUE klass , const char *name , VALUE(*func)() , int argc)
-
void rb
_ define _ method(VALUE klass , const char *name , VALUE(*func)() , int argc) (38360.0) -
クラスklassのインスタンスメソッドnameを定義します。
...数は使えません,
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 も参照... -
void rb
_ define _ method _ id(VALUE klass , ID name , VALUE (*func)() , int argc) (6316.0) -
klass に public メソッド name を定義します。 その実体は関数 func です。また argc の意味は rb_define_method と同じです。
...klass に public メソッド name を定義します。
その実体は関数 func です。また argc の意味は
rb_define_method と同じです。... -
VALUE rb
_ catch(const char *tag , VALUE (*proc)() , VALUE data) (360.0) -
catch と同等の動作を実行します。
... VALUE
foo_yield(VALUE a, VALUE b)
{
return rb_yield(b);
}
static VALUE
foo_catch(VALUE obj)
{
return rb_catch("footag", foo_yield, INT2FIX(2));
}
static VALUE
foo_abort(VALUE obj)
{
return rb_throw("footag", Qnil);
}
void
Init_foo(void)
{
VALUE......Foo = rb_define_class("Foo", rb_cObject);
rb_define_method(Foo, "catch", foo_catch, 0);
rb_define_method(Foo, "abort", foo_abort, 0);
}... -
void rb
_ define _ module _ function(VALUE module , const char *name , VALUE (*func)() , int argc) (216.0) -
モジュール module にモジュール関数 name を定義します。 func と argc は rb_define_method と同じです。
...モジュール module にモジュール関数 name を定義します。
func と argc は rb_define_method と同じです。... -
void rb
_ define _ private _ method(VALUE klass , const char *name , VALUE(*func)() , int argc) (216.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) (216.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) (216.0) -
obj に特異メソッド name を定義します。 メソッドの実体を func に関数ポインタで与え、その関数がとる 引数のタイプを argc に渡します。argc のフォーマットに ついては rb_define_method の記述を参照してください。
...obj に特異メソッド name を定義します。
メソッドの実体を func に関数ポインタで与え、その関数がとる
引数のタイプを argc に渡します。argc のフォーマットに
ついては rb_define_method の記述を参照してください。... -
void rb
_ define _ global _ function(const char *name , VALUE (*func)() , int argc) (134.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(... -
rdoc
/ parser / c (78.0) -
C 言語で記述されたソースコードから組み込みクラス/モジュールのドキュメン トを解析するためのサブライブラリです。
...ブライブラリです。
C 言語で記述された拡張ライブラリなどを解析するのに使用します。
rb_define_class や rb_define_method などで定義されたものに
対応する C 言語の関数のコメントを解析します。
例: Array#flatten の場合。rb_ary_f......2, 3, 4, 5, 6, 7, 8, 9, 10]
*/
static 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);......列と解釈します。
また、RDoc は rb_define_method などの定義と C 言語の関数の実装が同じファ
イルにある事を前提としています。そうでない場合は以下のような指定を行います。
rb_define_method(....); // in ファイル名
例:
/*...