るりまサーチ (Ruby 2.2.0)

最速Rubyリファレンスマニュアル検索!
27件ヒット [1-27件を表示] (0.035秒)
トップページ > バージョン:2.2.0[x] > クエリ:*[x] > 種類:マクロ[x]

別のキーワード

  1. _builtin *
  2. matrix *
  3. array *
  4. vector *
  5. bigdecimal *

キーワード

検索結果

struct RArray * RARRAY(VALUE obj) (400.0)

obj を struct RArray* にキャストする。 本当は obj が struct RArray* でないとしてもキャストしてしまう。

obj を struct RArray* にキャストする。
本当は obj が struct RArray* でないとしてもキャストしてしまう。

VALUE Data_Make_Struct(VALUE klass, type, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free, type *svar) (358.0)

type 型の構造体をヒープに割り当ててそれへのポインタを svar に代入し、クラス klass のインスタンスである Ruby のオブジェクトを生成し、それを返します。mark free はそれぞれマーク用・解放用の関数へのポインタです。 どちらも、必要ないときはかわりに 0 を渡します。

type 型の構造体をヒープに割り当ててそれへのポインタを
svar に代入し、クラス klass のインスタンスである
Ruby のオブジェクトを生成し、それを返します。mark
free はそれぞれマーク用・解放用の関数へのポインタです。
どちらも、必要ないときはかわりに 0 を渡します。

また RUBY_DATA_FUNC の定義は以下のようです。

typedef void (*RUBY_DATA_FUNC)(void *st)

第一引数 st には svar の値が渡されます。

使用例

struct mytype {
int i;
...

VALUE Data_Wrap_Struct(VALUE klass, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free, void *sval) (358.0)

C の構造体 sval をラップして klass クラスの インスタンスである Ruby オブジェクトを生成し、それを返します。 mark、free はそれぞれ sval のマーク用・解放用の 関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。

C の構造体 sval をラップして klass クラスの
インスタンスである Ruby オブジェクトを生成し、それを返します。
mark、free はそれぞれ sval のマーク用・解放用の
関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。

また RUBY_DATA_FUNC の定義は以下のようです。

typedef void (*RUBY_DATA_FUNC)(void *st)

第一引数 st には sval が渡されます。

使用例

struct mytype {
int i;
char *s;
...

void * DATA_PTR(VALUE dta) (352.0)

実際は struct RData* 型である dta から、 それがラップしているポインタを取り出します。

実際は struct RData* 型である dta から、
それがラップしているポインタを取り出します。

void Data_Get_Struct(VALUE obj, type, type *svar) (340.0)

Ruby のオブジェクト obj から type 型へのポインタを とりだし svar に代入します。

Ruby のオブジェクト obj から type 型へのポインタを
とりだし svar に代入します。

使用例

struct mytype {
int i;
char *s;
};

VALUE
my_i(VALUE self)
{
struct mytype *m;
Data_Get_Struct(self, struct mytype, m);
return INT2NUM(m->i);
}

絞り込み条件を変える

char * STR2CSTR(VALUE str) (304.0)

Ruby のオブジェクト str から C の文字列を取り出します。 str が String でない場合は to_str によって変換を試みます。

Ruby のオブジェクト str から C の文字列を取り出します。
str が String でない場合は to_str によって変換を試みます。

返り値を free したり直接書き換えたりしてはいけません。

STR2CSTR は、与えられたオブジェクトが文字列でなく to_str メソッ
ドを持つ場合、内部で to_str を呼び出して暗黙の型変換を行い、
それが保持する文字列ポインタを返します。
しかし、このAPIでは暗黙の型変換結果となるオブジェクトがどこからも
保持されないため、注意して使用しないと結果が GC される可能性があります。

Ruby 1.7 以降では代わりに S...

char * StringValuePtr(VALUE val) (304.0)

val が String でなければ to_str メソッドを使って String に変換し、 その実体のポインタを返します。

val が String でなければ to_str メソッドを使って String に変換し、
その実体のポインタを返します。

このマクロに渡した VALUE は ruby の GC から確実に保護されます。

char* RSTRING_END(RString str) (304.0)

引数 str の表す文字列のポインタの末尾を返します。

引数 str の表す文字列のポインタの末尾を返します。

@param str RString 構造体を指定します。

@see RSTRING_PTR

char* RSTRING_PTR(RString str) (304.0)

引数 str の表す文字列のポインタの先頭を返します。

引数 str の表す文字列のポインタの先頭を返します。

@param str RString 構造体を指定します。

@see RSTRING_END

static char * tok(void) (304.0)

現在のトークンの先頭へのポインタ。 free してはならない。

現在のトークンの先頭へのポインタ。
free してはならない。

絞り込み条件を変える

static char* toklast(void) (304.0)

現在のトークンの末尾へのポインタ。

現在のトークンの末尾へのポインタ。

struct RBasic * RBASIC(VALUE obj) (304.0)

struct RBignum * RBIGNUM(VALUE obj) (304.0)

struct RClass * RCLASS(VALUE obj) (304.0)

struct RClass * RMODULE(VALUE obj) (304.0)

絞り込み条件を変える

struct RData * RDATA(VALUE obj) (304.0)

struct RFile * RFILE(VALUE obj) (304.0)

struct RFloat * RFLOAT(VALUE obj) (304.0)

struct RHash * RHASH(VALUE obj) (304.0)

struct RObject * ROBJECT(VALUE obj) (304.0)

絞り込み条件を変える

struct RRegexp * RREGEXP(VALUE obj) (304.0)

struct RString * RSTRING(VALUE obj) (304.0)

引数 obj を RString 構造体にキャストして返します。

引数 obj を RString 構造体にキャストして返します。

@param obj Rubyの文字列オブジェクトを指定します。

struct RStruct * RSTRUCT(VALUE obj) (304.0)

type* ALLOC(type) (304.0)

type 型のメモリを割り当てる。

type 型のメモリを割り当てる。

type* ALLOCA_N(type, n) (304.0)

type 型のメモリを n 個スタックフレームに割り当てる。 このメモリは関数が終わると自動的に解放される。

type 型のメモリを n 個スタックフレームに割り当てる。
このメモリは関数が終わると自動的に解放される。

絞り込み条件を変える

type* ALLOC_N(type, n) (304.0)

type 型のメモリを n 個割り当てる。

type 型のメモリを n 個割り当てる。

type* REALLOC_N(var, type, n) (304.0)

type 型のメモリ領域 var のサイズを n 個に変更する。

type 型のメモリ領域 var のサイズを n 個に変更する。