Ruby の C API(C 言語 API)の関数の一覧です。Ruby 本体や拡張ライブラリの開発に使うもので、Ruby プログラムから直接呼び出す関数ではありません。
| ALLOC | type 型のメモリを割り当てる。 |
| ALLOC_N | type 型のメモリを n 個割り当てる。 |
| ALLOCA_N | type 型のメモリを n 個スタックフレームに割り当てる。このメモリは関数が終わると自動的に解放される。 |
| BUILTIN_TYPE |
obj の構造体型 ID を返します。
|
| Check_Type | val の構造体型フラグが typeflag でなければ例外 TypeError を発生します。val は即値の VALUE であっても構いません。 |
| CHR2FIX | char 型の整数 x を Ruby の Fixnum に変換します。 |
| CLASS_OF | obj のクラスを返します。この場合の「クラス」とは C レベルのクラス、つまり RBasic 構造体の klass メンバの値です。また、構造体を持たない Fixnum などに対しても正常に働きます。 |
| CLONESETUP | OBJSETUP() の変種。 clone を、obj から clone で作ったオブジェクトとして初期化します。 |
| DATA_PTR | 実際は struct RData* 型である dta から、それがラップしているポインタを取り出します。 |
| DUPSETUP | OBJSETUP() の変種。 dup を、obj から dup で作ったオブジェクトとして初期化します。 |
| FIX2INT | Fixnum を int に変換します。返り値が int の範囲から外れる場合は RangeError が発生します。 |
| FIX2LONG | Fixnum を long に変換します。 Fixnum は常に long に収まります。 |
| FIX2UINT | Fixnum を unsigned int に変換します。返り値が unsigned int の範囲から外れる場合は RangeError が発生します。 |
| FIX2ULONG | Fixnum を unsigned long に変換します。範囲のチェックは行われません。負の Fixnum を渡した場合は例外にはならず、 2 の補数表現をそのまま unsigned long として解釈した大きな値を返します。 |
| FIXABLE | f が Fixnum の範囲に収まっているなら真。 |
| FIXNUM_MAX | Fixnum にできる整数の上限値。 |
| FIXNUM_MIN | Fixnum にできる整数の下限値。 |
| FIXNUM_P | obj が Fixnum のインスタンスのとき真。 |
| FL_ABLE | x が即値の VALUE でなければ真。 |
| FL_REVERSE | x のフラグ f を反転する。 |
| FL_SET | x に対してフラグ f をセットする。 |
| FL_TEST | x のフラグ f が立っていたら真。 |
| FL_UNSET | x のフラグ f をクリアする。 |
| HAVE_RB_LEN_T |
|
| ID2SYM | id を Symbol に変換します。 |
| IMMEDIATE_P | obj が即値でかつ真な値であるとき真。すなわち現在の実装では obj が Symbol か Fixnum のインスタンスであるか、 Qtrue のとき真。 |
| INT2FIX | Fixnum におさまることが自明な整数を Fixnum に変換します。なお、Fixnum の幅は long の幅 - 1 です。 |
| INT2NUM | 任意の整数を Integer に変換します。 INT2FIX と異なり、Fixnum におさまらない整数も扱えます。 |
| ISALNUM | |
| ISALPHA | |
| ISASCII | |
| ISDIGIT | cが'0'から'9'のとき真。それ以外は偽。 |
| ISLOWER | |
| ISPRINT | |
| ISSPACE | |
| ISUPPER | |
| ISXDIGIT | cが’0’から’9’、’a’から’f’、’A’から’F’のとき真。それ以外は偽。 |
| LEN2NUM |
|
| LL2NUM | 例
|
| LONG2FIX | INT2FIX と同じです。 |
| LONG2NUM | |
| MEMCMP | type 型のメモリ領域 p1 と p2 の先頭 n 個を比較する。 p1 が p2 の最初の n 個より小さい、等しい、大きいとき、それぞれ正、0、負の値を返す。 |
| MEMCPY | type 型のメモリ領域 p2 のうち先頭の n 個を p1 にコピーする。 |
| MEMMOVE | type 型のメモリ領域 p2 のうち先頭の n 個を p1 に移動する。 |
| MEMZERO | type 型のメモリ領域 p をゼロクリアする。 n は要素数。 |
| NEGFIXABLE | f が Fixnum の下限値以上ならば真。 |
| NIL_P | obj が Qnil のとき真。 |
| NUM2CHR | |
| NUM2DBL | |
| NUM2INT | x を int 型の整数に変換します。 |
| NUM2LEN |
|
| NUM2LL |
Numeric のオブジェクト |
| NUM2LONG | x を long 型の整数に変換します。 |
| NUM2OFFT |
Numeric のオブジェクト |
| NUM2SHORT | x を short 型の整数に変換します。 |
| NUM2SIZET |
Integer のオブジェクト |
| NUM2SSIZET |
Integer のオブジェクト |
| NUM2UINT | x を unsigned int 型の整数に変換します。 |
| NUM2ULL |
Numeric のオブジェクト |
| NUM2ULONG | x を unsigned long 型の整数に変換します。 |
| NUM2USHORT | x を unsigned short 型の整数に変換します。 |
| OBJ_FREEZE | |
| OBJ_FROZEN | |
| OBJSETUP | obj をクラス klass とフラグ typeflag で初期化する。 |
| POSFIXABLE | f が Fixnum の上限値以下ならば真。 |
| PRIdLEN |
|
| RARRAY | obj を struct RArray* にキャストする。本当は obj が struct RArray* でないとしてもキャストしてしまう。 |
| rb_add_event_hook |
インタプリタのイベントに対するフック関数を登録します。
|
| rb_alias | クラス klass に定義されたメソッド name の本体を実体とする新しいメソッド def を定義します。 |
| rb_alias_variable | |
| rb_any_to_s | Object#to_s の実体です。 |
| rb_apply | オブジェクト recv のメソッド mid を引数 args とともに呼び出します。 |
| rb_Array | obj が Array でない場合は to_a を使って Array に変換します。 |
| rb_ary_aref | argc が 1 のときは ary[*argv]、 2 のときは ary[argv[0], argv[1]] を返します。 |
| rb_ary_cat |
配列 |
| rb_ary_clear | ary.clear |
| rb_ary_concat | ary.concat x |
| rb_ary_delete | ary.delete |
| rb_ary_entry | ary のインデックス offset の要素を返します。 |
| rb_ary_includes | ary.include? item |
| rb_ary_new | 空の Ruby の配列を作成し返します。 |
| rb_ary_new2 | 長さ len 分だけメモリを確保した、長さゼロの Ruby の配列を作成し返します。 |
| rb_ary_new3 | 長さ n で要素に i0 i1 i2 …を格納した Ruby の配列を作成し返します。 |
| rb_ary_new4 | rb_ary_new_from_values の古い名前です。新しく書くコードでは rb_ary_new_from_values を使ってください。 |
| rb_ary_new_capa |
要素を持たない配列を作成します。内部のバッファは |
| rb_ary_new_from_args |
可変長引数で渡されたオブジェクトから、要素数 |
| rb_ary_new_from_values |
C の配列で渡されたオブジェクトから、要素数 |
| rb_ary_pop | 配列 ary の末尾の要素をとりのぞき返します。空配列のときは Qnil を返します。 |
| rb_ary_push | 配列 ary の末尾に item を追加します。 |
| rb_ary_shift | 配列 ary の先頭の要素を取り除き返します。空配列のときは Qnil を返します。 |
| rb_ary_sort | ary.sort |
| rb_ary_store | 配列 ary のインデックス idx に val を格納します。idx が範囲を越えるときは Ruby レベルと同じく自動的にサイズが拡張されます。 |
| rb_ary_subseq |
配列 |
| rb_ary_to_ary |
オブジェクトを強制的に配列にします。まず |
| rb_ary_to_s | ary.to_s |
| rb_ary_unshift | 配列 ary の先頭に item を挿入します。 |
| rb_assoc_new | [a,b] を返します。 |
| rb_attr | |
| rb_autoload_load | |
| rb_backref_get | 現在の SCOPE の $~ の値を返します。 |
| rb_backref_set | 現在の SCOPE の $~ に val を代入します。 |
| rb_backtrace | |
| rb_block_call |
|
| rb_block_call_kw |
rb_block_call と同じですが、 |
| rb_block_given_p | メソッドがブロック付きで呼ばれていれば true を返します。 |
| rb_bug | インタプリタをただちに異常終了させます。インタプリタ自身のバグが原因の状況で呼ばれることを想定した関数で、例外処理も ensure の実行もしません。可能であれば、内部状態やスタックトレース、レジスタの値をデバッグ用に表示します。 |
| rb_call_super | Rubyレベルでの super です。現在評価中のメソッドのスーパークラスのメソッドを呼び出します。 |
| rb_catch | catch と同等の動作を実行します。 |
| rb_check_arity |
引数の個数 |
| rb_check_convert_type | val.method を実行してクラス tname のインスタンスを返します。 val がメソッド method を持たなければ nil を返します。 |
| rb_class2name | klass の名前を返します。返り値の内容を変更したり free してはいけません。 |
| rb_class_instance_methods | Module#instance_methods の実体。モジュール mod に定義されている public メソッド名のリストを文字列の配列で返します。 |
| rb_class_new | super をスーパークラスとして新しいクラスオブジェクトを生成し、返します。 |
| rb_class_new_instance | Class#new の実体です。 |
| rb_class_path | klass の名前を返します。klassが無名クラス、無名モジュールの場合 #<Class 0xXXXX>, #<Module 0xXXXX> の形式で返します。 |
| rb_class_private_instance_methods | Module#private_instance_methods の実体。モジュール mod に定義されている private メソッド名のリストを文字列の配列で返します。 |
| rb_class_protected_instance_methods | Module#protected_instance_methods の実体。モジュール mod に定義されている protected メソッド名のリストを文字列の配列で返します。 |
| rb_class_real | 特異クラスや化身クラス (T_ICLASS) を飛ばして cl のスーパークラスを辿り、Ruby レベルに露出してもよいクラスを返します。 |
| rb_class_superclass | |
| rb_const_defined | klass とそのスーパークラスに定数 id が定義されていれば真。 |
| rb_const_defined_at | klass 自体に定数 id が定義されていれば真。 |
| rb_const_get | 定数 klass::name の値を取得します。 |
| rb_const_get_at | クラス klass で定義された定数 name の値を取得します (祖先や外のクラスは調べない)。 |
| rb_const_list | |
| rb_const_set | 定数 klass::name の値を val として定義します。 |
| rb_convert_type | オブジェクト val をクラス type のインスタンスに変換します。変換には、val.method の戻り値が使われます。 |
| rb_copy_generic_ivar | |
| rb_cstr_to_dbl | |
| rb_cv_get | klass のクラス変数 name の値を取得します。 |
| rb_cv_set | klass のクラス変数 name に val を代入します。変数がまだ定義されていない場合は NameError を発生します。 |
| rb_cvar_defined | |
| rb_cvar_get | klass のクラス変数 name の値を取得します。 |
| rb_cvar_set | klass のクラス変数 name に val を代入します。変数がまだ定義されていない場合は NameError を発生します。 |
| rb_define_alias | クラス klass のインスタンスメソッド old の別名 new を定義します。 |
| rb_define_attr | クラス klass にメソッド name と name= を定義します。 read が真のときは name を定義し、 write が真のときは name= を定義します。 |
| rb_define_class | クラス super の下位クラス name を作成し返します。 |
| rb_define_class_id | クラス名 id でクラス super を継承したクラスを新しく作成する。クラス→クラス名 (定数名) の関連付けはなされるが、定数→クラスの関連付けはなされない。 |
| rb_define_class_under | super のサブクラスとして新しい Ruby クラスを、outer の定数として定義して返します。 |
| rb_define_class_variable | クラス klass のクラス変数 name を初期値 val で定義します。既に同名の変数が定義されていたら警告します。 |
| rb_define_const | クラス klass の定数 name を初期値 val で定義します。既に同名の定数が定義されていたら警告します。 |
| rb_define_global_const | トップレベル (現在は Object) の定数 name を初期値 val で定義します。既に同名の定数が定義されていたら警告します。 |
| rb_define_global_function | 関数 name を定義します。 func と argc は rb_define_method と同じです。 |
| rb_define_hooked_variable | |
| rb_define_method | クラスklassのインスタンスメソッドnameを定義します。 |
| rb_define_method_id | klass に public メソッド name を定義します。その実体は関数 func です。また argc の意味は rb_define_method と同じです。 |
| rb_define_module | モジュール name を作成し返します。 |
| rb_define_module_function | モジュール module にモジュール関数 name を定義します。 func と argc は rb_define_method と同じです。 |
| rb_define_module_id | 名前が id である新しいモジュールを定義し、それを返します。モジュール→名前 (定数) のリンクは確立しますが名前→モジュールのリンクはまだ確立していません。 |
| rb_define_module_under | モジュール outer::name を作成し返します。 |
| rb_define_private_method | クラス klass にプライベートインスタンスメソッド name を定義します。その実体は関数 func であり、その関数がとる引数のタイプを argc で指定します。argc のフォーマットについては rb_define_method の項を参照してください。 |
| rb_define_protected_method | クラス klass に protected インスタンスメソッド name を定義します。その実体は関数 func であり、その関数がとる引数のタイプを argc で指定します。argc のフォーマットについては rb_define_method の項を参照してください。 |
| rb_define_readonly_variable | |
| rb_define_singleton_method | obj に特異メソッド name を定義します。メソッドの実体を func に関数ポインタで与え、その関数がとる引数のタイプを argc に渡します。argc のフォーマットについては rb_define_method の記述を参照してください。 |
| rb_define_variable | |
| rb_define_virtual_variable | |
| rb_enc_str_new |
エンコーディングを指定して、新しい String を作成します。
rb_str_new と同じですが、エンコーディング |
| rb_enc_str_new_cstr |
エンコーディングを指定して、C の文字列から新しい String を作成します。
rb_enc_str_new と同じですが、 |
| rb_enc_str_new_literal | エンコーディングを指定して、C の文字列リテラルから新しい String を作成します。文字列リテラルの領域を、そのまま文字列の実体として使います。文字列リテラルしか渡せません。変数は渡せません。 |
| rb_ensure | ensure の C 版です。まず body(data1) を実行し、その途中で例外や exit が起きたとしても ensure(data2) が確実に実行されます ( body() が正常終了しても実行されます)。 |
| rb_eql | obj1.equal?(obj2) ならば Qtrue、そうでないならば Qfalse。 |
| rb_equal | obj1 == obj2 ならば Qtrue、そうでないならば Qfalse。 |
| rb_eval_string | str を Ruby プログラムとしてコンパイル・評価し、その値を返します。 |
| rb_eval_string_protect | str を Ruby プログラムとしてコンパイル・評価し、その値を返します。 |
| rb_eval_string_wrap | rb_eval_string_protect と同じですが、スクリプトの評価を無名のモジュールのもとで行います。 |
| rb_exc_fatal | 例外オブジェクト err を fatal として投げます。 |
| rb_exc_raise | 例外オブジェクト err を投げます。 |
| rb_exit | ステータス status でインタプリタを終了させます。 |
| rb_extend_object | |
| rb_extract_keywords |
ハッシュを、シンボルをキーとする部分とそれ以外に分けます。シンボルをキーとする部分は新しいハッシュとして返します。残りは新しいハッシュとして |
| rb_f_abort | |
| rb_f_exit | |
| rb_f_global_variables | |
| rb_f_require | require の実体。 self == obj として fname を require します。 |
| rb_f_trace_var | |
| rb_f_untrace_var | |
| rb_fatal | あらゆる例外処理をスキップして即座にインタプリタが終了します。 fmt とその後の引数は printf と同じ形式でエラーメッセージを表現します。 |
| rb_fd_clr |
ファイルディスクリプタ |
| rb_fd_init |
|
| rb_fd_isset |
ファイルディスクリプタ |
| rb_fd_set |
ファイルディスクリプタ |
| rb_fd_term |
|
| rb_fd_zero |
|
| rb_fix_new | |
| rb_Float | |
| rb_float_new |
C の |
| RB_FLOAT_TYPE_P |
|
| rb_free_generic_ivar | |
| rb_funcall | recv に対してメソッド name を呼びだし、メソッドの返り値を返します。プライベートメソッドも呼びだせます。 |
| rb_funcall2 | recv に対してメソッド name を呼びだし、メソッドの返り値を返します。プライベートメソッドも呼びだせます。 |
| rb_funcall3 | recv に対してメソッド name を呼びだし、メソッドの返り値を返します。 |
| rb_funcall_passing_block |
rb_funcallv_public と同じですが、現在のメソッドが受け取ったブロックを、呼び出すメソッドのブロックとして渡します。
|
| rb_funcall_passing_block_kw |
rb_funcall_passing_block と同じですが、 |
| rb_funcall_with_block |
rb_funcallv_public と同じですが、ブロックを渡せます。ブロックには Proc のインスタンスを指定します。
|
| rb_funcall_with_block_kw |
rb_funcall_with_block と同じですが、 |
| rb_funcallv |
|
| rb_funcallv_kw |
rb_funcallv と同じですが、 |
| rb_funcallv_public |
|
| rb_funcallv_public_kw |
rb_funcallv_public と同じですが、 |
| rb_gc | 明示的に GC を開始します。rb_gc_disable() で禁止中のときおよびすでに GC が実行中のときは実際には行われません。 |
| rb_gc_adjust_memory_usage |
外部のライブラリが確保しているメモリの量を GC に伝えます。
GC はメモリが不足してくると動きますが、DLL が |
| rb_gc_disable | GC を禁止します。 |
| rb_gc_enable | GC を許可します。 |
| rb_gc_mark | v をマークします。 |
| rb_gc_mark_locations | |
| rb_gc_mark_maybe | v が Ruby のオブジェクトであればマークします。 |
| rb_gc_register_address | |
| rb_gc_register_mark_object |
|
| rb_gc_start | GC を起動します。 |
| rb_gc_unregister_address | |
| rb_get_kwargs |
キーワード引数のハッシュ |
| rb_global_variable | rb_gc_register_address と同じです。 |
| rb_gv_get | Ruby のグローバル変数の値を取得します。 |
| rb_gv_set | Ruby のグローバル変数 name に val を代入します。 val を返します。 |
| rb_id2name | id に対応する文字列を返します。返り値は開放できません。 |
| rb_id_attrset | |
| rb_include_module | Module#append_features の実体。クラスまたはモジュール klass にモジュール module をインクルードします。 |
| rb_inspect | obj.inspect の実体。 |
| rb_int_new | |
| rb_Integer | obj が Ruby の整数でない場合は to_i を使って Integer に変換します。 |
| rb_integer_pack |
整数 |
| RB_INTEGER_TYPE_P |
|
| rb_intern | 任意の char* と一対一に対応する整数 ID を返す。 |
| rb_interrupt | |
| rb_io_wait_readable |
ファイルディスクリプタ |
| rb_io_wait_writable |
ファイルディスクリプタ |
| rb_is_class_id | クラス変数名として有効な ID ならば真。 |
| rb_is_const_id | 定数名として有効な ID ならば真。 |
| rb_is_instance_id | インスタンス変数名として有効な ID ならば真。 |
| rb_is_local_id | ローカル変数名として有効な ID ならば真。 |
| rb_iter_break | break の C 用インターフェイスです。現在評価中のブロックから抜けます。 |
| rb_iter_break_value |
現在もっとも内側のブロックから抜けます。
rb_iter_break と同じですが、イテレータの評価結果となる値 |
| rb_iv_get | オブジェクト obj のインスタンス変数 name の値を取得します。 |
| rb_iv_set | オブジェクト obj のインスタンス変数 name に val を代入します。 |
| rb_ivar_defined | オブジェクト obj のインスタンス変数 name が定義されていれば真。 |
| rb_ivar_get | オブジェクト obj のインスタンス変数 name の値を取得します。 |
| rb_ivar_set | オブジェクト obj のインスタンス変数 name に val を代入します。 |
| rb_jump_tag | 初出: [ruby-dev:4064] |
| rb_lastline_get | 現在評価中の SCOPE の $_ の値を取得します。 |
| rb_lastline_set | 現在評価中の SCOPE の $_ に val を代入します。 |
| rb_len2int |
|
| rb_len2long |
|
| RB_LEN_MAX |
|
| RB_LEN_MIN |
|
| rb_len_t |
|
| rb_load | |
| rb_load_protect | |
| rb_mark_hash | |
| rb_mark_tbl | |
| rb_memerror | NoMemoryErrorをraiseする。しかしraise自体にもメモリ容量を使うため、メモリが足りない状況ではその途中でまたメモリ不足になる可能性がある。そのためこの関数では再帰を検出した場合はraiseではなくexitするようになっている。 |
| rb_memory_view_available_p |
|
| rb_memory_view_extract_item_members | 要素メンバからなるオブジェクトを返します。 |
| rb_memory_view_fill_contiguous_strides |
|
| rb_memory_view_get |
|
| rb_memory_view_get_item |
|
| rb_memory_view_get_item_pointer |
|
| rb_memory_view_init_as_byte_array |
1 次元のバイト列として |
| rb_memory_view_is_column_major_contiguous |
メモリビュー |
| rb_memory_view_is_contiguous |
メモリビュー |
| rb_memory_view_is_row_major_contiguous |
メモリビュー |
| rb_memory_view_item_size_from_format | 要素が使用するバイト数を計算します。 |
| rb_memory_view_parse_item_format |
|
| rb_memory_view_prepare_item_desc |
|
| rb_memory_view_register |
|
| rb_memory_view_release |
メモリビュー |
| rb_method_boundp | |
| rb_mod_ancestors | モジュール mod にインクルードされているモジュール、さらに mod がクラスならばスーパークラスとそれにインクルードされているモジュールを再帰的に集めてメソッド探索優先順位順に並べて返します (早く探索されるほうが前)。 |
| rb_mod_class_variables | |
| rb_mod_const_at | |
| rb_mod_const_of | |
| rb_mod_constants | |
| rb_mod_include_p | モジュール mod が mod2 をインクルードしていれば真。 |
| rb_mod_included_modules | モジュール mod にインクルードされているモジュールの配列を返します。 |
| rb_mod_module_eval | Module#module_eval の実体です。 |
| rb_mod_name | Module#name の実体です。無名クラス、無名モジュールに対しては空文字列を返します。 |
| rb_mod_remove_const | |
| rb_mod_remove_cvar | |
| rb_module_new | 新しいモジュールオブジェクトを作成し、返します。 |
| rb_nogvl |
|
| RB_NOGVL_INTR_FAIL |
rb_nogvl の |
| RB_NOGVL_OFFLOAD_SAFE |
rb_nogvl の |
| RB_NOGVL_PENDING_INTR_FAIL |
rb_nogvl の |
| RB_NOGVL_UBF_ASYNC_SAFE |
rb_nogvl の |
| rb_num2dbl | 任意の Numeric のオブジェクトを double に変換します。 |
| rb_obj_alloc | klass のインスタンスを作成する。 |
| rb_obj_call_init | オブジェクト obj に対して initialize を呼び出します。引数は長さ argc の配列 argv で表され、ブロックが積んである場合はそれも自動的に渡されます。 |
| rb_obj_class | Object#class の実体です。 |
| rb_obj_clone | Object#clone の実体です。 |
| rb_obj_dup | Object#dup の実体です。 |
| rb_obj_freeze | |
| rb_obj_frozen_p | |
| rb_obj_hide |
オブジェクトを Ruby のコードから見えなくします。
|
| rb_obj_id | Object#object_id の実体です。 |
| rb_obj_instance_eval | |
| rb_obj_instance_variables | |
| rb_obj_is_instance_of | obj がクラス klass のインスタンスならば真。 |
| rb_obj_is_kind_of | obj がクラス klass およびそのサブクラスのインスタンスのとき真。 |
| rb_obj_is_proc |
|
| rb_obj_method | |
| rb_obj_remove_instance_variable | |
| rb_obj_respond_to |
|
| rb_obj_reveal |
rb_obj_hide で隠したオブジェクトを、再び見えるようにします。
|
| rb_obj_singleton_methods | Object#singleton_methods の実体。オブジェクト obj に定義されている特異メソッド名のリストを文字列の配列で返す。 |
| rb_out_of_long |
|
| rb_p | p の実体。obj を見やすく出力します。 |
| rb_path2class | |
| rb_proc_new | |
| rb_protect | 初出: [ruby-dev:4064] |
| rb_provide | ライブラリ feature をロードしたものとしてロックをかけます。 |
| rb_provided | |
| rb_raise | クラス err の例外を発生します。fmt とその後の引数は、 printf と同じ形式でエラーメッセージを表します。 |
| rb_remove_event_hook |
rb_add_event_hook で登録したフック関数 |
| rb_remove_method | クラス klass 自体に登録されている name という名前のメソッドを検索し、エントリを削除します。見付からなかったときは例外 NameError を発生します。 |
| rb_require | require の C 版です。feature「fname」をロードします。 |
| rb_rescue | まず b_proc(data1) を実行し、その途中で例外が発生したら r_proc(data2) を実行します。捕捉する例外は StandardError のサブクラスだけです。 |
| rb_rescue2 | まず b_proc(data1) を実行し、その途中で例外が発生したら r_proc(data2) を実行します。第五引数以降の可変長引数に捕捉したい例外クラスのリストを指定します。引数の最後は NULL で終らなければなりません。 |
| rb_respond_to | obj にメソッド id が定義されているとき真。プライベートメソッドに対しても真を返します。 |
| rb_scan_args | 長さ argc の配列 argv を fmt に従って解析し、第四引数以降で渡されたアドレスに書き込みます。 |
| rb_scan_args_kw |
rb_scan_args と同じように、 |
| rb_set_class_path | |
| rb_set_end_proc | |
| rb_singleton_class | obj に特異クラスを導入し、その特異クラスを返します。すでに特異クラスが導入されているときはそれをそのまま返します。 |
| rb_singleton_class_attached | 特異クラス klass にその唯一のインスタンス obj を結びつけます。 |
| rb_singleton_class_clone | 特異クラス klass を clone して返します。 klass が特異クラスでないときはただ klass を返します。 |
| rb_sprintf |
|
| rb_str_append |
文字列 |
| rb_str_cat | 文字列 str に、長さ len (NUL 含まず)の C の文字列 ptr を破壊的に連結します。 |
| rb_str_cat2 | 文字列 str に C の文字列 ptr を破壊的に連結します。ptr はヌル終端を仮定しています。 |
| rb_str_cat_cstr |
文字列 |
| rb_str_catf |
rb_sprintf と同じ書式で整形した結果を、文字列 |
| rb_str_concat | equivalent to "s1.concat s2" |
| rb_str_dup | 文字列 str の複製を作成し返します。 |
| rb_str_modify |
文字列 |
| rb_str_new | ptr から len バイト分をコピーして Ruby の文字列を作成し返します。 |
| rb_str_new2 | rb_str_new(ptr, strlen(ptr)) |
| rb_str_new4 | 文字列 orig の変更不可能な複製を作成し返します。 |
| rb_str_new_cstr |
C の文字列 |
| rb_str_new_literal | C の文字列リテラルから、新しい String を作成します。文字列リテラルの領域を、そのまま文字列の実体として使います。文字列リテラルしか渡せません。変数は渡せません。エンコーディングは ASCII-8BIT(binary)になります。 |
| rb_str_resize |
文字列 |
| rb_str_set_len |
文字列 |
| rb_str_substr | str[beg, len] |
| rb_str_to_dbl | |
| rb_str_vcatf |
rb_str_catf と同じですが、値を |
| rb_String | Kernel?.String の実体です。 val を文字列に変換します。 |
| rb_sym_all_symbols | 呼び出し時までに変換が行われたすべてのシンボルの配列を返す。 |
| rb_thread_alone | 評価器にスレッドが一つしか存在しないとき真。 |
| rb_thread_atfork | |
| rb_thread_create | |
| rb_thread_current | 現在実行中のスレッドを返します。 |
| rb_thread_fd_close | |
| rb_thread_fd_select |
複数のファイルディスクリプタを同時に待ちます。
|
| rb_thread_fd_writable | |
| rb_thread_kill | |
| rb_thread_local_aref | |
| rb_thread_local_aset | |
| rb_thread_main | メインスレッド (プロセスの一番最初に存在するスレッド) を返します。 |
| rb_thread_run | スレッド thread に実行権を渡します。 |
| rb_thread_schedule | 他のスレッドに実行権を渡します。対象の特定はできません。 |
| rb_thread_sleep | |
| rb_thread_sleep_forever | |
| rb_thread_stop | 現在実行中のスレッドを停止します。他のスレッドから rb_thread_wakeup を呼ばれると再開します。 |
| rb_thread_wait_fd | ファイルディスクリプタ fd を読み込めるようになるまでカレントスレッドを停止します。 |
| rb_thread_wait_for | time の長さの時間が経過するまでカレントスレッドを停止します。 |
| rb_thread_wakeup | 停止中のスレッド thread を再開させます。 |
| rb_throw | throw の実体。返り値を val として、 tag を catch したところまでジャンプします。 |
| rb_time_timespec_new | 引数 ts、offset を元に Time オブジェクトを作成して返します。 |
| rb_timespec_now | 現在時刻を取得してその結果を引数 ts で指定した timespec 構造体に格納します。 |
| rb_to_id | String・Fixnum・Symbol を ID に変換します。 |
| rb_to_int | val を to_int メソッドを使って Ruby の整数に変換します。 |
| RB_TYPE_P |
|
| rb_uint_new | |
| RB_ULEN_MAX |
|
| rb_ulen_t |
|
| rb_undef | クラス klass のメソッド id を undef します。 |
| rb_undef_method | クラス klass のインスタンスメソッド name を undef します。 |
| rb_usascii_str_new |
US-ASCII の新しい String を作成します。
rb_str_new と同じですが、エンコーディングが US-ASCII になります。
|
| rb_usascii_str_new_cstr |
C の文字列 |
| rb_usascii_str_new_literal | C の文字列リテラルから、US-ASCII の新しい String を作成します。文字列リテラルの領域を、そのまま文字列の実体として使います。文字列リテラルしか渡せません。変数は渡せません。 |
| rb_utf8_str_new | UTF-8 の新しい String を作成します。 rb_str_new と同じですが、エンコーディングが UTF-8 になります。 |
| rb_utf8_str_new_cstr |
C の文字列 |
| rb_utf8_str_new_literal | C の文字列リテラルから、UTF-8 の新しい String を作成します。文字列リテラルの領域を、そのまま文字列の実体として使います。文字列リテラルしか渡せません。変数は渡せません。 |
| rb_vsprintf |
rb_sprintf と同じですが、値を |
| rb_wait_for_single_fd |
1 つのファイルディスクリプタ |
| rb_warn |
|
| rb_warning |
|
| rb_yield | yield の C 版です。val を引数にブロックを実行します。複数の引数を与えたいときは配列に格納して渡します。 |
| rb_yield_splat |
配列 |
| rb_yield_splat_kw |
rb_yield_splat と同じですが、 |
| rb_yield_values |
|
| rb_yield_values2 |
|
| rb_yield_values_kw |
rb_yield_values2 と同じですが、 |
| RBASIC | |
| RCLASS | |
| RDATA | |
| REALLOC_N | type 型のメモリ領域 var のサイズを n 個に変更する。 |
| RFILE | |
| RHASH_TBL |
|
| RMODULE | |
| ROBJECT | |
| RREGEXP | |
| RSTRING | 引数 obj を RString 構造体にキャストして返します。 |
| RSTRING_END | 引数 str の表す文字列のポインタの末尾を返します。 |
| RSTRING_LEN | 引数 str の表す文字列のバイト数を返します。 |
| RSTRING_LENINT | 引数 str の表す文字列のバイト数をint型にキャストして返します。 |
| RSTRING_PTR | 引数 str の表す文字列のポインタの先頭を返します。 |
| RTEST | obj が Qfalse でも Qnil でもないとき真。 |
| RUBY_DATA_FUNC | 任意の関数へのポインタ func を struct RData の dmark/dfree の値として適する型に強制キャストします。 |
| ruby_finalize | 評価器プロセスの終了処理を行います。 |
| ruby_init | 評価器を初期化します。Ruby C API を呼ぶプロセスでは前もって必ずこの関数を呼ばなければなりません。 |
| RUBY_METHOD_FUNC | 任意の関数へのポインタ func を Ruby のメソッドの実体として適する型に強制キャストします。 |
| ruby_options | argc と argv を ruby へのコマンドラインオプションとして処理します。 |
| RUBY_REF_EDGE |
構造体 |
| RUBY_REFERENCES |
|
| ruby_run_node |
コンパイル済みのソースを実行し、このプロセスを終了します。
|
| ruby_script |
現在のスクリプト名を |
| ruby_stack_check | |
| ruby_stack_length | |
| ruby_stop | 評価器プロセスを停止します。 |
| RUBY_TYPED_EMBEDDABLE |
|
| ruby_xcalloc | 引数と返り値は calloc() と同じです。ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは例外 NoMemoryError を発生します。つまりこの関数が返り値を返したときは常に割り当ては成功です。 |
| ruby_xfree | 以前 malloc/calloc/realloc して free していないポインタ x を開放します。ruby のシグナル機構とコンフリクトしません。 |
| ruby_xfree_sized |
ruby_xfree と同じですが、確保したときの大きさ |
| ruby_xmalloc | 引数と返り値は malloc() と同じ。ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは NoMemoryError を raise する。つまりこの関数が返り値を返したときは常に割り当ては成功している。 |
| ruby_xrealloc | 引数と返り値の意味は realloc() と同じ。ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは NoMemoryError を raise する。つまりこの関数が返り値を返したときは常に割り当ては成功している。 |
| ruby_xrealloc2_sized |
|
| ruby_xrealloc_sized |
ruby_xrealloc と同じですが、現在の大きさ |
| SafeStringValue | StringValue と同じく、val が String でなければ to_str メソッドを使って String に変換します。同時に rb_check_safe_str() によるチェックも行います。 |
| SIZEOF_RB_LEN_T |
|
| SPECIAL_CONST_P | obj が実体の構造体を持たないとき真。現時点で真になるのは Qnil, Qtrue, Qfalse と、 Fixnum, Symbol のインスタンス。 |
| st_add_direct | st_insert() と似ているが、同じハッシュ値を持つエントリーに対する「同値検査」を省略する。key がまだ登録されていないことがはっきりしている場合には、少し高速に登録できる。 |
| st_cleanup_safe | never と同じ値を持つエントリーを削除する。 |
| st_copy | Hash#dup の実体。 old_table と同じ内容の st_table を新たに作成して返す。 |
| st_delete | *key に対応する値をテーブルから削除し、*key、*value に登録時のキーと値を書きこむ。返り値は削除したかどうか。 |
| st_delete_safe | st_delete と似ているが、その場ですぐに削除するのではなく never を書きこんでおく。st_cleanup_safe() で本当に削除できる。 Ruby では never には Qundef を使う。 |
| st_foreach | Hash#each, delete_if などの実体。ハッシュ内の全てのキーと値、arg を引数にして、func を実行する。func の返り値 enum st_retval は ST_CONTINUE ST_STOP ST_DELETE のどれか。どれも見ためどおりの働きをする。 |
| st_free_table | table を解放する。キー、値は解放されない。 |
| st_init_numtable | キーが int 型であるハッシュテーブルを作成する。 |
| st_init_numtable_with_size | キーが int 型であるハッシュテーブルを作成する。 st_init_table() に int 用の操作関数を渡しているだけ。 |
| st_init_strtable | キーが char* 型であるハッシュテーブルを作成する。 |
| st_init_strtable_with_size | キーが char* 型であるハッシュテーブルを作成する。 st_init_table に文字列用の操作関数を渡しているだけ。 |
| st_init_table | |
| st_init_table_with_size | st_table を作成する。_with_size はサイズを指定して生成する。 struct st_hash_type はハッシュ値を得る関数と、同値判定を行う関数を持つ。 |
| st_insert | ハッシュに key と value の組を追加する。古いライブラリなので void* のかわりに char* を使っている。 |
| st_lookup | key に対応する値をみつけて value にポインタを書きこむ。返り値は見つかったかどうかの真偽値。 |
| StringValue | val が String でなければ to_str メソッドを使って String に変換します。 |
| StringValueCStr |
|
| StringValuePtr | val が String でなければ to_str メソッドを使って String に変換し、その実体のポインタを返します。 |
| SYM2ID |
Symbol symbol を数値に変換します。
Ruby 1.4 では、 |
| SYMBOL_P | obj が Symbol のインスタンスのとき真。 |
| TYPE | obj の構造体型 ID を返します。 |
| UINT2NUM | 任意の整数を Fixnum か Bignum に変換します。 |
| ULEN2NUM |
|
| ULL2NUM | |
| ULONG2NUM |