別のキーワード
キーワード
- CHR2FIX (12)
-
Data
_ Get _ Struct (12) -
Data
_ Make _ Struct (12) -
Data
_ Wrap _ Struct (12) - INT2NUM (12)
- LL2NUM (12)
- RSTRING (12)
- STR2CSTR (12)
- StringValue (12)
- StringValuePtr (12)
検索結果
先頭5件
-
VALUE Data
_ Make _ Struct(VALUE klass , type , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , type *svar) (229.0) -
type 型の構造体をヒープに割り当ててそれへのポインタを svar に代入し、クラス klass のインスタンスである Ruby のオブジェクトを生成し、それを返します。mark free はそれぞれマーク用・解放用の関数へのポインタです。 どちらも、必要ないときはかわりに 0 を渡します。
...ss のインスタンスである
Ruby のオブジェクトを生成し、それを返します。mark
free はそれぞれマーク用・解放用の関数へのポインタです。
どちらも、必要ないときはかわりに 0 を渡します。
また RUBY_DATA_FUNC の定義は以下の......ようです。
typedef void (*RUBY_DATA_FUNC)(void *st)
第一引数 st には svar の値が渡されます。
使用例
struct mytype {
int i;
char *s;
};
VALUE
my_s_new(klass)
VALUE klass;
{
struct mytype *dummy;
return Data_Ma... -
VALUE Data
_ Wrap _ Struct(VALUE klass , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , void *sval) (229.0) -
C の構造体 sval をラップして klass クラスの インスタンスである Ruby オブジェクトを生成し、それを返します。 mark、free はそれぞれ sval のマーク用・解放用の 関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。
...インスタンスである Ruby オブジェクトを生成し、それを返します。
mark、free はそれぞれ sval のマーク用・解放用の
関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。
また RUBY_DATA_FUNC の定義は以下......のようです。
typedef void (*RUBY_DATA_FUNC)(void *st)
第一引数 st には sval が渡されます。
使用例
struct mytype {
int i;
char *s;
};
VALUE
my_s_new(klass)
VALUE klass;
{
struct mytype *m = malloc(sizeof(struct mytype)... -
char * STR2CSTR(VALUE str) (29.0)
-
Ruby のオブジェクト str から C の文字列を取り出します。 str が String でない場合は to_str によって変換を試みます。
...
Ruby のオブジェクト str から C の文字列を取り出します。
str が String でない場合は to_str によって変換を試みます。
返り値を free したり直接書き換えたりしてはいけません。
STR2CSTR は、与えられたオブジェクトが文字列で......結果が GC される可能性があります。
Ruby 1.7 以降では代わりに StringValuePtr を使用します。こちら
は、引数の参照先が暗黙の型変換の結果に置き換わるため変換結果が GC
されません。(Ruby 1.7 では、STR2CSTR() は、obsolete です)... -
VALUE CHR2FIX(char x) (17.0)
-
char 型の整数 x を Ruby の Fixnum に変換します。
...char 型の整数 x を Ruby の Fixnum に変換します。... -
VALUE LL2NUM(long long v) (17.0)
-
例: long long n = 42; VALUE num = LL2NUM(n); // (long longの整数42をRubyのオブジェクトに変換)
...例:
long long n = 42;
VALUE num = LL2NUM(n); // (long longの整数42をRubyのオブジェクトに変換)... -
void Data
_ Get _ Struct(VALUE obj , type , type *svar) (17.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);... -
VALUE INT2NUM(int i) (7.0)
-
任意の整数を Fixnum か Bignum に変換します。
...任意の整数を Fixnum か Bignum に変換します。
例:
VALUE num = INT2NUM(42); //(Cの整数値42をRubyのオブジェクトに変換)... -
char * StringValuePtr(VALUE val) (7.0)
-
val が String でなければ to_str メソッドを使って String に変換し、 その実体のポインタを返します。
...val が String でなければ to_str メソッドを使って String に変換し、
その実体のポインタを返します。
このマクロに渡した VALUE は ruby の GC から確実に保護されます。... -
struct RString * RSTRING(VALUE obj) (7.0)
-
引数 obj を RString 構造体にキャストして返します。
...引数 obj を RString 構造体にキャストして返します。
@param obj Rubyの文字列オブジェクトを指定します。...