別のキーワード
キーワード
-
RUBY
_ DATA _ FUNC (1) -
RUBY
_ METHOD _ FUNC (1) -
add
_ heap (1) - compile (1)
-
e
_ option _ supplied (1) -
find
_ class _ path (1) - id2ref (1)
-
lex
_ getline (1) -
rb
_ Integer (1) -
rb
_ ary _ entry (1) -
rb
_ ary _ new (1) -
rb
_ ary _ new2 (1) -
rb
_ ary _ new3 (1) -
rb
_ ary _ pop (1) -
rb
_ ary _ push (1) -
rb
_ ary _ shift (1) -
rb
_ ary _ store (1) -
rb
_ assoc _ new (1) -
rb
_ call _ super (1) -
rb
_ class _ real (1) -
rb
_ compile _ cstr (1) -
rb
_ compile _ error (1) -
rb
_ compile _ error _ with _ enc (1) -
rb
_ compile _ file (1) -
rb
_ compile _ string (1) -
rb
_ data _ object _ alloc (1) -
rb
_ define _ class _ under (1) -
rb
_ define _ method (1) -
rb
_ eval _ string (1) -
rb
_ eval _ string _ protect (1) -
rb
_ f _ block _ given _ p (1) -
rb
_ f _ lambda (1) -
rb
_ frame _ last _ func (1) -
rb
_ gc _ mark _ maybe (1) -
rb
_ gv _ get (1) -
rb
_ gv _ set (1) -
rb
_ io _ mode _ flags2 (1) -
rb
_ jump _ tag (1) -
rb
_ load (1) -
rb
_ parser _ append _ print (1) -
rb
_ parser _ while _ loop (1) -
rb
_ protect (1) -
rb
_ scan _ args (1) -
rb
_ str _ new (1) -
rb
_ thread _ start _ timer (1) -
rb
_ thread _ stop _ timer (1) -
rb
_ to _ int (1) -
ruby
_ finalize (1) -
ruby
_ init (1) -
ruby
_ run (1) -
ruby
_ stack _ check (1) -
ruby
_ stack _ length (1) -
ruby
_ stop (1) -
ruby
_ xcalloc (1) -
ruby
_ xfree (1) -
ruby
_ xmalloc (1) -
ruby
_ xrealloc (1) -
st
_ delete _ safe (1) -
warn
_ unless _ e _ option (1) -
warning
_ unless _ e _ option (1) -
yield
_ under (1)
検索結果
先頭5件
-
void ruby
_ init(void) (96700.0) -
評価器を初期化します。Ruby C API を呼ぶプロセスでは 前もって必ずこの関数を呼ばなければなりません。
評価器を初期化します。Ruby C API を呼ぶプロセスでは
前もって必ずこの関数を呼ばなければなりません。 -
void ruby
_ options(int argc , char **argv) (96700.0) -
argc と argv を ruby への コマンドラインオプションとして処理します。
argc と argv を ruby への
コマンドラインオプションとして処理します。 -
void ruby
_ run(void) (96700.0) -
ruby_eval_tree の評価を開始します。
ruby_eval_tree の評価を開始します。 -
void ruby
_ xfree(void *x) (96700.0) -
以前 malloc/calloc/realloc して free していないポインタ x を 開放します。ruby のシグナル機構とコンフリクトしません。
以前 malloc/calloc/realloc して free していないポインタ x を
開放します。ruby のシグナル機構とコンフリクトしません。 -
int ruby
_ stack _ check(void) (96604.0) -
-
int ruby
_ stack _ length(VALUE **p) (96604.0) -
-
void * ruby
_ xcalloc(long n , long size) (96604.0) -
引数と返り値は calloc() と同じです。 ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは例外 NoMemoryError を発生します。 つまりこの関数が返り値を返したときは常に割り当ては成功です。
引数と返り値は calloc() と同じです。
ただしメモリ割り当てに失敗したときは
GC を行いそれでもだめなときは例外 NoMemoryError を発生します。
つまりこの関数が返り値を返したときは常に割り当ては成功です。 -
void * ruby
_ xmalloc(long size) (96604.0) -
引数と返り値は malloc() と同じ。 ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは NoMemoryError を raise する。 つまりこの関数が返り値を返したときは常に割り当ては成功している。
引数と返り値は malloc() と同じ。
ただしメモリ割り当てに失敗したときは
GC を行いそれでもだめなときは NoMemoryError を raise する。
つまりこの関数が返り値を返したときは常に割り当ては成功している。 -
void * ruby
_ xrealloc(void *ptr , long size) (96604.0) -
引数と返り値の意味は realloc() と同じ。 ただしメモリ割り当てに失敗したときは GC を行いそれでもだめなときは NoMemoryError を raise する。 つまりこの関数が返り値を返したときは常に割り当ては成功している。
引数と返り値の意味は realloc() と同じ。
ただしメモリ割り当てに失敗したときは
GC を行いそれでもだめなときは NoMemoryError を raise する。
つまりこの関数が返り値を返したときは常に割り当ては成功している。 -
void ruby
_ finalize(void) (96604.0) -
評価器プロセスの終了処理を行います。
評価器プロセスの終了処理を行います。 -
void ruby
_ stop(int ex) (96604.0) -
評価器プロセスを停止します。
評価器プロセスを停止します。 -
MACRO RUBY
_ METHOD _ FUNC(func) (36700.0) -
任意の関数へのポインタ func を Ruby のメソッドの実体として適する 型に強制キャストします。
任意の関数へのポインタ func を Ruby のメソッドの実体として適する
型に強制キャストします。 -
MACRO RUBY
_ DATA _ FUNC(func) (36604.0) -
任意の関数へのポインタ func を struct RData の dmark/dfree の 値として適する型に強制キャストします。
任意の関数へのポインタ func を struct RData の dmark/dfree の
値として適する型に強制キャストします。 -
VALUE rb
_ data _ object _ alloc(VALUE klass , void *datap , RUBY _ DATA _ FUNC dmark , RUBY _ DATA _ FUNC dfree) (1204.0) -
datap をラップするオブジェクトを生成し、返します。 そのクラスは klass となり、datap をマークするときは dmark、解放するときは dfree を使うようになります。
datap をラップするオブジェクトを生成し、返します。
そのクラスは klass となり、datap をマークするときは
dmark、解放するときは dfree を使うようになります。 -
NODE * rb
_ compile _ file(const char *f , VALUE file , int start) (484.0) -
Ruby の IO オブジェクト file から文字列を読み込み、 それを Ruby プログラムとして構文木にコンパイルします。 作成した構文木は ruby_eval_tree と ruby_eval_tree_begin に 格納し、同時に ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。
Ruby の IO オブジェクト file から文字列を読み込み、
それを Ruby プログラムとして構文木にコンパイルします。
作成した構文木は ruby_eval_tree と ruby_eval_tree_begin に
格納し、同時に ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。 -
NODE * rb
_ compile _ string(const char *f , VALUE s , int line) (388.0) -
Ruby の文字列 s を構文木にコンパイルし、ruby_eval_tree と ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。
Ruby の文字列 s を構文木にコンパイルし、ruby_eval_tree と
ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。 -
NODE * rb
_ compile _ cstr(const char *f , const char *s , int len , int line) (292.0) -
C の文字列 s を構文木にコンパイルし、ruby_eval_tree と ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。 またコンパイルするときにファイル f の line 行目からをコンパイル していると仮定します。
C の文字列 s を構文木にコンパイルし、ruby_eval_tree と
ruby_eval_tree_begin に格納します。ruby_eval_tree を返します。
またコンパイルするときにファイル f の line 行目からをコンパイル
していると仮定します。 -
void rb
_ parser _ append _ print(void) (196.0) -
ruby の -p オプションの実装。 ループと print のノードを ruby_eval_tree に加えます。
ruby の -p オプションの実装。
ループと print のノードを ruby_eval_tree に加えます。 -
void rb
_ parser _ while _ loop(int chop , int split) (196.0) -
ruby の -n オプションの実装。 ループと print のノードを ruby_eval_tree に加えます。
ruby の -n オプションの実装。
ループと print のノードを ruby_eval_tree に加えます。 -
int rb
_ scan _ args(int argc , const VALUE *argv , const char *fmt , . . . ) (184.0) -
長さ argc の配列 argv を fmt に従って 解析し、第四引数以降で渡されたアドレスに書き込みます。
長さ argc の配列 argv を fmt に従って
解析し、第四引数以降で渡されたアドレスに書き込みます。
fmt のフォーマットは以下の通りです。
* 必須引数の数 (省略可能な引数があるなら省略不可)
* 省略可能な引数の数 (ゼロ個ならば省略可)
* 残りの引数を Ruby の配列として受け取ることを示す '*' (省略可)
* 最後の引数をオプションハッシュとして受け取る事を示す ':' (省略可)
* ブロックを Proc オブジェクト化して受け取ることを示す '&' (省略可)
これらの指定文字はそれぞれ省略可能ですが、
必ずこの順番で現れなければい... -
VALUE rb
_ ary _ new() (136.0) -
空の Ruby の配列を作成し返します。
空の Ruby の配列を作成し返します。
対応するRubyコード
ary = Array.new または
ary = []
使用例
VALUE ary;
ary = rb_ary_new(); -
VALUE rb
_ ary _ new2(long len) (136.0) -
長さ len 分だけメモリを確保した、 長さゼロの Ruby の配列を作成し返します。
長さ len 分だけメモリを確保した、
長さゼロの Ruby の配列を作成し返します。
対応するRubyコード
ary = Array.new(len)
使用例
VALUE ary;
long len;
...
ary = rb_ary_new2(len); -
VALUE rb
_ ary _ new3(long n , VALUE i0 , i1 , i2 , . . . ) (136.0) -
長さ n で要素に i0 i1 i2 …を格納した Ruby の配列を作成し返します。
長さ n で要素に i0 i1 i2 …を格納した
Ruby の配列を作成し返します。
対応するRubyコード
ary = Array[i0, i1, i2...] または
ary = [i0, i1, i2...]
使用例
VALUE ary;
int i[3] = { 1, 2, 3 };
ary = rb_ary_new3(3, INT2FIX(i[0]), INT2FIX(i[1]), INT2FIX(i[2])); -
void rb
_ ary _ store(VALUE ary , long idx , VALUE val) (136.0) -
配列 ary のインデックス idx に val を格納します。idx が範囲を越えるときは Ruby レベルと同じく自動的にサイズが拡張されます。
配列 ary のインデックス idx に
val を格納します。idx が範囲を越えるときは
Ruby レベルと同じく自動的にサイズが拡張されます。
対応するRubyコード
ary[idx] = val
使用例
VALUE ary;
int idx;
int n[5] = { 1, 2, 3, 4, 5 };
ary = rb_ary_new();
for (idx=0; idx<5; idx++) rb_ary_store(ary, idx, INT2FIX(n[idx])); -
void rb
_ load(VALUE fname , int wrap) (136.0) -
参考: 21651
参考: 21651
組込み関数 Kernel.#load の低レベルインタフェースです。Rubyスクリ
プトが格納されたファイルfname をロードします。
引数wrapが、non-zeroなら無名のモジュールを生成して、ロー
ドした内容をそのモジュールに閉じ込めます。閉じ込めるのは
* 定数
* クラス、モジュール
* トップレベルメソッド
です。グローバル変数の変更などは閉じ込められません。 -
ID rb
_ frame _ last _ func(void) (100.0) -
現在呼び出し中の (Rubyで実装された) メソッドの呼び出し名を返します。
現在呼び出し中の (Rubyで実装された) メソッドの呼び出し名を返します。 -
VALUE rb
_ Integer(VALUE obj) (100.0) -
obj が Ruby の整数でない場合は to_i を使って Integer に変換します。
obj が Ruby の整数でない場合は to_i を使って
Integer に変換します。 -
VALUE rb
_ call _ super(int argc , const VALUE *argv) (100.0) -
Rubyレベルでの super です。 現在評価中のメソッドのスーパークラスのメソッドを呼び出します。
Rubyレベルでの super です。
現在評価中のメソッドのスーパークラスのメソッドを呼び出します。 -
VALUE rb
_ class _ real(VALUE cl) (100.0) -
特異クラスや化身クラス (T_ICLASS) を飛ばして cl の スーパークラスを辿り、Ruby レベルに露出してもよいクラスを返します。
特異クラスや化身クラス (T_ICLASS) を飛ばして cl の
スーパークラスを辿り、Ruby レベルに露出してもよいクラスを返します。
例:
rb_class_real(RBASIC(klass)->super)
rb_obj_class(obj) は、obj のクラスを返す汎用の関数(Object#type と
同じ)だが、obj が Qtrue などでない RBasic 構造のものであることが
わかっているなら
rb_class_real(RBASIC(obj)->klass)
でも良い。(が、やはり rb_obj_class(obj) を使う方が無難だろう)... -
VALUE rb
_ define _ class _ under(VALUE outer , const char *name , VALUE super) (100.0) -
super のサブクラスとして新しい Ruby クラスを、outer の定数として定義し て返します。
super のサブクラスとして新しい Ruby クラスを、outer の定数として定義し
て返します。
@param outer 定義するクラスが定数として所属するクラス
@param name クラス名
@param super 継承元のクラス。NULL を指定した場合は Object クラス
@raise TypeError 引数 name と同じ名前の定数が既に存在し、それが
Class オブジェクトではない場合に発生します。
@raise TypeError 定義済みのクラスと継承元のクラスが一致しない場合に発生
... -
VALUE rb
_ eval _ string(const char *str) (100.0) -
str を Ruby プログラムとしてコンパイル・評価し、 その値を返します。
str を Ruby プログラムとしてコンパイル・評価し、
その値を返します。 -
VALUE rb
_ eval _ string _ protect(const char *str , int *state) (100.0) -
str を Ruby プログラムとしてコンパイル・評価し、 その値を返します。
str を Ruby プログラムとしてコンパイル・評価し、
その値を返します。
コンパイル中または評価中に例外を含む大域脱出が発生した場合は、
state が NULL でなければそれに値が代入され Qnil を返します。 -
VALUE rb
_ f _ lambda(void) (100.0) -
ruby_block 先端の BLOCK から Proc オブジェクトを作成し、返します。
ruby_block 先端の BLOCK から Proc オブジェクトを作成し、返します。 -
VALUE rb
_ gv _ get(const char *name) (100.0) -
Ruby のグローバル変数の値を取得します。
Ruby のグローバル変数の値を取得します。
使用例
VALUE v = rb_gv_get("$!") -
VALUE rb
_ gv _ set(const char *name , VALUE val) (100.0) -
Ruby のグローバル変数 name に val を代入します。 val を返します。
Ruby のグローバル変数 name に val を代入します。
val を返します。 -
VALUE rb
_ protect(VALUE (*proc)() , VALUE data , int *state) (100.0) -
初出: 4064
初出: 4064
proc(data) を評価中のあらゆる大域脱出(例外を含む)を捕捉します。
val = rb_protect(func, arg, &status);
if (status != 0) {
puts("大域脱出が起きた");
rb_jump_tag(status);
} -
VALUE rb
_ str _ new(const char *ptr , long len) (100.0) -
ptr から len バイト分をコピーして Ruby の文字列を作成し返します。
ptr から len バイト分をコピーして
Ruby の文字列を作成し返します。
rb_str_new(0,0)
では空文字列を生成して返します。 -
VALUE rb
_ to _ int(VALUE val) (100.0) -
val を to_int メソッドを使って Ruby の整数に変換します。
val を to_int メソッドを使って Ruby の整数に変換します。 -
int st
_ delete _ safe(register st _ table *table , register char **key , char **value , char *never) (100.0) -
st_delete と似ているが、その場ですぐに削除するのではなく never を 書きこんでおく。st_cleanup_safe() で本当に削除できる。 Ruby では never には Qundef を使う。
st_delete と似ているが、その場ですぐに削除するのではなく never を
書きこんでおく。st_cleanup_safe() で本当に削除できる。
Ruby では never には Qundef を使う。 -
static NODE * compile(VALUE src
, char *file , int line) (100.0) -
Ruby の文字列または IO オブジェクト src を 構文木にコンパイルし、返します。そのとき、src が ファイル file の line 行目から始まっていると仮定します。
Ruby の文字列または IO オブジェクト src を
構文木にコンパイルし、返します。そのとき、src が
ファイル file の line 行目から始まっていると仮定します。 -
static VALUE find
_ class _ path(VALUE klass) (100.0) -
クラス klass のクラスパスを探索し、Ruby の文字列で返します。
クラス klass のクラスパスを探索し、Ruby の文字列で返します。 -
static VALUE id2ref(VALUE obj
, VALUE id) (100.0) -
ObjectSpace#_id2ref の実体。 Ruby の整数で表されたオブジェクト ID id から オブジェクトを返します。
ObjectSpace#_id2ref の実体。
Ruby の整数で表されたオブジェクト ID id から
オブジェクトを返します。 -
static VALUE lex
_ getline(void) (100.0) -
関数 lex_gets を使って lex_input から Ruby プログラムを一行読みこみます。
関数 lex_gets を使って lex_input から
Ruby プログラムを一行読みこみます。 -
static VALUE rb
_ f _ block _ given _ p(void) (100.0) -
block_given? の実体。 現在評価中の (Ruby で実装された) メソッドに対して ブロックが与えられていたら真。
block_given? の実体。
現在評価中の (Ruby で実装された) メソッドに対して
ブロックが与えられていたら真。 -
static VALUE yield
_ under(VALUE under , VALUE self) (100.0) -
モジュール under の元のコンテキストで ruby_block を評価します。
モジュール under の元のコンテキストで
ruby_block を評価します。 -
static int e
_ option _ supplied(void) (100.0) -
ruby -e で与えたプログラムを実行中なら真。
ruby -e で与えたプログラムを実行中なら真。 -
static int rb
_ io _ mode _ flags2(int mode) (100.0) -
open(2) のようなモード指定modeをruby内部のモードフラグに変換します。
open(2) のようなモード指定modeをruby内部のモードフラグに変換します。
modeは、O_RDONLY, O_WRONLY, O_RDWRのいずれかで
対応する以下の値のいずれかを返します。
* FMODE_READABLE,
* FMODE_WRITABLE,
* FMODE_READWRITE
FMODE_READWRITEは、FMODE_READABLEと
FMODE_WRITEABLEの論理和です。
Microsoft Windows などファイルにバイナリ/テキスト属性の区別がある
プラットフォームでは、modeにO_BINARYの論理和が指定されて... -
static void add
_ heap(void) (100.0) -
Rubyオブジェクトのヒープスロットを増設する。
Rubyオブジェクトのヒープスロットを増設する。 -
static void warn
_ unless _ e _ option(const char *str) (100.0) -
ruby -e で与えたプログラムの評価中ではないなら、 警告メッセージ str を出力する。
ruby -e で与えたプログラムの評価中ではないなら、
警告メッセージ str を出力する。 -
static void warning
_ unless _ e _ option(const char *str) (100.0) -
ruby -e で与えたプログラムの評価中ではなく、 しかも $VERBOSE が真ならば、警告メッセージ str を出力する。
ruby -e で与えたプログラムの評価中ではなく、
しかも $VERBOSE が真ならば、警告メッセージ str を出力する。 -
void rb
_ compile _ error(const char *file , int line , const char *fmt , . . . ) (100.0) -
この関数は Ruby 2.3.0 から deprecated です。公開関数ですが内部利用のみを想 定しています。外部のライブラリで使用すべきではありません。
この関数は Ruby 2.3.0 から deprecated です。公開関数ですが内部利用のみを想
定しています。外部のライブラリで使用すべきではありません。 -
void rb
_ compile _ error _ with _ enc(const char *file , int line , void *enc , const char *fmt , . . . ) (100.0) -
この関数は Ruby 2.3.0 から deprecated です。公開関数ですが内部利用のみを想 定しています。外部のライブラリで使用すべきではありません。
この関数は Ruby 2.3.0 から deprecated です。公開関数ですが内部利用のみを想
定しています。外部のライブラリで使用すべきではありません。 -
void rb
_ gc _ mark _ maybe(VALUE v) (100.0) -
v が Ruby のオブジェクトであればマークします。
v が Ruby のオブジェクトであればマークします。 -
void rb
_ jump _ tag(int tag) (100.0) -
初出: 4064
初出: 4064
rb_load_protect,rb_eval_string_protect,rb_protect
などで捕捉した大域脱出を再生成します。
tagには上記関数の引数で受け取ったstateを指定します。 -
void rb
_ thread _ stop _ timer(void) (76.0) -
setitimer(2) が存在する場合のみ定義されます。
setitimer(2) が存在する場合のみ定義されます。
Ruby のスレッドスケジューリングに使用しているインターバルタイマーを
停止します。このタイマーが止まると Ruby のスレッド機構は基本的に停止
しますので注意してください。 -
VALUE rb
_ ary _ entry(VALUE ary , long offset) (40.0) -
ary のインデックス offset の要素を返します。
ary のインデックス offset の要素を返します。
インデックスが範囲を越えるときは Qnil を返します。
負のインデックスも使えます。
対応するRubyコード
ary[offset] または
ary.at(offset)
使用例
VALUE num;
num = rb_ary_entry(ary, offset);
printf("%d\n", FIX2INT(num));
キャストを使った要素の参照方法
VALUE num = RARRAY(ary)->ptr[offset]; -
VALUE rb
_ ary _ pop(VALUE ary) (40.0) -
配列 ary の末尾の要素をとりのぞき返します。 空配列のときは Qnil を返します。
配列 ary の末尾の要素をとりのぞき返します。
空配列のときは Qnil を返します。
対応するRubyコード
val = ary.pop
使用例
last_error = rb_ary_pop(err_ary);
VALUE str = rb_funcall(last_error, rb_intern("to_s"), 0); -
VALUE rb
_ ary _ push(VALUE ary , VALUE item) (40.0) -
配列 ary の末尾に item を追加します。
配列 ary の末尾に item を追加します。
対応するRubyコード
ary.push(item) または
ary << item
使用例
VALUE ary = rb_ary_new();
char line[4096];
while ((gets(line)) != NULL){
item = process_apache_log(line);
rb_ary_push(ary, item);
} -
VALUE rb
_ ary _ shift(VALUE ary) (40.0) -
配列 ary の先頭の要素を取り除き返します。 空配列のときは Qnil を返します。
配列 ary の先頭の要素を取り除き返します。
空配列のときは Qnil を返します。
対応するRubyコード
val = ary.shift -
VALUE rb
_ assoc _ new(VALUE a , VALUE b) (40.0) -
[a,b] を返します。
[a,b] を返します。
対応するRubyコード
[a, b]
使用例
VALUE assoc_string(VALUE str_a, VALUE str_b)
{
Check_Type(str_a, T_STRING);
Check_Type(str_b, T_STRING);
return rb_assoc_new(str_a, str_b);
} -
void rb
_ define _ method(VALUE klass , const char *name , VALUE(*func)() , int argc) (40.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
_ thread _ start _ timer(void) (40.0) -
setitimer(2) が存在する場合のみ定義されます。
setitimer(2) が存在する場合のみ定義されます。
Ruby のスレッドスケジューリングに使用している
インターバルタイマーを開始します。