るりまサーチ (Ruby 2.4.0)

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

検索結果

VALUE CHR2FIX(char x) (4.0)

char 型の整数 x を Ruby の Fixnum に変換します。

char 型の整数 x を Ruby の Fixnum に変換します。

VALUE CLASS_OF(VALUE obj) (4.0)

obj のクラスを返します。 この場合の「クラス」とは C レベルのクラス、 つまり RBasic 構造体の klass メンバの値です。 また、構造体を持たない Fixnum などに対しても正常に働きます。

obj のクラスを返します。
この場合の「クラス」とは C レベルのクラス、
つまり RBasic 構造体の klass メンバの値です。
また、構造体を持たない Fixnum などに対しても正常に働きます。

VALUE Data_Make_Struct(VALUE klass, type, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free, type *svar) (4.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) (4.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;
...

VALUE ID2SYM(ID id) (4.0)

id を Symbol に変換します。

id を Symbol に変換します。

絞り込み条件を変える

VALUE INT2FIX(int i) (4.0)

Fixnum におさまることが自明な整数を Fixnum に変換します。 なお、Fixnum の幅は long の幅 - 1 です。

Fixnum におさまることが自明な整数を Fixnum に変換します。
なお、Fixnum の幅は long の幅 - 1 です。

VALUE INT2NUM(int i) (4.0)

任意の整数を Fixnum か Bignum に変換します。

任意の整数を Fixnum か Bignum に変換します。

例:
VALUE num = INT2NUM(42); //(Cの整数値42をRubyのオブジェクトに変換)

VALUE LL2NUM(long long v) (4.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のオブジェクトに変換)

VALUE LONG2FIX(long i) (4.0)

INT2FIX と同じです。

INT2FIX と同じです。

VALUE LONG2NUM(long v) (4.0)

絞り込み条件を変える

VALUE UINT2NUM(unsigned int i) (4.0)

任意の整数を Fixnum か Bignum に変換します。

任意の整数を Fixnum か Bignum に変換します。

VALUE ULL2NUM(unsigned long long n) (4.0)

VALUE ULONG2NUM(unsigned long n) (4.0)

char * STR2CSTR(VALUE str) (4.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) (4.0)

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

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

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

絞り込み条件を変える

char NUM2CHR(VALUE x) (4.0)

char* RSTRING_END(RString str) (4.0)

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

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

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

@see RSTRING_PTR

char* RSTRING_PTR(RString str) (4.0)

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

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

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

@see RSTRING_END

double NUM2DBL(VALUE x) (4.0)

int BUILTIN_TYPE(VALUE obj) (4.0)

obj の構造体型 ID を返します。 SPECIAL_CONST_P(obj) が真のオブジェクトに対して使うと落ちます。

obj の構造体型 ID を返します。
SPECIAL_CONST_P(obj) が真のオブジェクトに対して使うと落ちます。

絞り込み条件を変える

int FIX2INT(VALUE x) (4.0)

Fixnum を int に変換します。 返り値が int の範囲から外れる場合は RangeError が発生します。

Fixnum を int に変換します。
返り値が int の範囲から外れる場合は RangeError が発生します。

int FIXABLE(long f) (4.0)

f が Fixnum の範囲に収まっているなら真。

f が Fixnum の範囲に収まっているなら真。

@see FIXNUM_MIN, FIXNUM_MAX, FIXNUM_P,
POSFIXABLE, NEGFIXABLE

int FIXNUM_P(VALUE obj) (4.0)

obj が Fixnum のインスタンスのとき真。

obj が Fixnum のインスタンスのとき真。

@see FIXNUM_MIN, FIXNUM_MAX, FIXABLE,
POSFIXABLE, NEGFIXABLE

int FL_ABLE(VALUE x) (4.0)

x が即値の VALUE でなければ真。

x が即値の VALUE でなければ真。

int FL_TEST(VALUE x, int f) (4.0)

x のフラグ f が立っていたら真。

x のフラグ f が立っていたら真。

絞り込み条件を変える

int IMMEDIATE_P(VALUE obj) (4.0)

obj が即値でかつ真な値であるとき真。 すなわち現在の実装では obj が Symbol か Fixnum のインスタンスであるか、 Qtrue のとき真。

obj が即値でかつ真な値であるとき真。
すなわち現在の実装では
obj が Symbol か Fixnum のインスタンスであるか、 Qtrue のとき真。

int ISALNUM(char c) (4.0)

int ISALPHA(char c) (4.0)

int ISASCII(char c) (4.0)

int ISDIGIT(char c) (4.0)

cが'0'から'9'のとき真。それ以外は偽。

cが'0'から'9'のとき真。それ以外は偽。

絞り込み条件を変える

int ISLOWER(char c) (4.0)

int ISPRINT(char c) (4.0)

int ISSPACE(char c) (4.0)

int ISUPPER(char c) (4.0)

int ISXDIGIT(char c) (4.0)

cが’0’から’9’、’a’から’f’、’A’から’F’のとき真。それ以外は偽。

cが’0’から’9’、’a’から’f’、’A’から’F’のとき真。それ以外は偽。

絞り込み条件を変える

int MEMCMP(p1, p2, type, n) (4.0)

type 型のメモリ領域 p1 と p2 の先頭 n 個を比較する。 p1 が p2 の最初の n 個より小さい、等しい、大きいとき、そ れぞれ正、0、負の値を返す。

type 型のメモリ領域 p1 と p2 の先頭 n 個を比較する。
p1 が p2 の最初の n 個より小さい、等しい、大きいとき、そ
れぞれ正、0、負の値を返す。

int NEGFIXABLE(long f) (4.0)

f が Fixnum の下限値以上ならば真。

f が Fixnum の下限値以上ならば真。

@see FIXNUM_MIN, FIXNUM_MAX, FIXNUM_P,
FIXABLE, POSFIXABLE

int NIL_P(VALUE obj) (4.0)

obj が Qnil のとき真。

obj が Qnil のとき真。

int NUM2INT(VALUE x) (4.0)

x を int 型の整数に変換します。

x を int 型の整数に変換します。

x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。

@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。

@raise RangeError x が int 型で表現できる値の範囲外であった場合に発生し
ます。

int OBJ_FROZEN(VALUE x) (4.0)

絞り込み条件を変える

int OBJ_TAINTED(VALUE x) (4.0)

x に汚染マークが付いていたら真。

x に汚染マークが付いていたら真。

int POSFIXABLE(long f) (4.0)

f が Fixnum の上限値以下ならば真。

f が Fixnum の上限値以下ならば真。

@see FIXNUM_MIN, FIXNUM_MAX, FIXNUM_P,
FIXABLE, NEGFIXABLE

int RSTRING_LENINT(RString str) (4.0)

引数 str の表す文字列のバイト数をint型にキャストして返します。

引数 str の表す文字列のバイト数をint型にキャストして返します。

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

@see RSTRING_LEN

int RTEST(VALUE obj) (4.0)

obj が Qfalse でも Qnil でもないとき真。

obj が Qfalse でも Qnil でもないとき真。

int SPECIAL_CONST_P(VALUE obj) (4.0)

obj が実体の構造体を持たないとき真。 現時点で真になるのは Qnil, Qtrue, Qfalse と、 Fixnum, Symbol のインスタンス。

obj が実体の構造体を持たないとき真。
現時点で真になるのは Qnil, Qtrue, Qfalse と、
Fixnum, Symbol のインスタンス。

絞り込み条件を変える

int SYM2ID(VALUE symbol) (4.0)

Symbol symbol を数値に変換します。 1.4では、FIX2INT(symbol)と同じです。

Symbol symbol を数値に変換します。
1.4では、FIX2INT(symbol)と同じです。

int SYMBOL_P(VALUE obj) (4.0)

obj が Symbol のインスタンスのとき真。

obj が Symbol のインスタンスのとき真。

int TYPE(VALUE obj) (4.0)

obj の構造体型 ID を返します。

obj の構造体型 ID を返します。

long FIX2LONG(VALUE x) (4.0)

Fixnum を long に変換します。 Fixnum は常に long に収まります。

Fixnum を long に変換します。
Fixnum は常に long に収まります。

long FIXNUM_MAX (4.0)

Fixnum にできる整数の上限値。

Fixnum にできる整数の上限値。

@see FIXNUM_MIN, FIXNUM_P, FIXABLE,
POSFIXABLE, NEGFIXABLE

絞り込み条件を変える

long FIXNUM_MIN (4.0)

Fixnum にできる整数の下限値。

Fixnum にできる整数の下限値。

@see FIXNUM_MAX, FIXNUM_P, FIXABLE,
POSFIXABLE, NEGFIXABLE

long NUM2LONG(VALUE x) (4.0)

x を long 型の整数に変換します。

x を long 型の整数に変換します。

x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。

@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。

@raise RangeError x が long 型で表現できる値の範囲外であった場合に発生
します。

long RSTRING_LEN(RString str) (4.0)

引数 str の表す文字列のバイト数を返します。

引数 str の表す文字列のバイト数を返します。

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

@see RSTRING_LENINT

short NUM2SHORT(VALUE x) (4.0)

x を short 型の整数に変換します。

x を short 型の整数に変換します。

x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。

@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。

@raise RangeError x が short 型で表現できる値の範囲外であった場合に発生
します。

static char * tok(void) (4.0)

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

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

絞り込み条件を変える

static char* toklast(void) (4.0)

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

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

static int peek(int c) (4.0)

現在読み込み中のプログラムの次の文字が c ならば真。

現在読み込み中のプログラムの次の文字が c ならば真。

static int toklen(void) (4.0)

現在のトークンの長さ。

現在のトークンの長さ。

static void tokfix(void) (4.0)

トークンバッファを NUL で終端します。

トークンバッファを NUL で終端します。

struct RArray * RARRAY(VALUE obj) (4.0)

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

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

絞り込み条件を変える

struct RBasic * RBASIC(VALUE obj) (4.0)

struct RBignum * RBIGNUM(VALUE obj) (4.0)

struct RClass * RCLASS(VALUE obj) (4.0)

struct RClass * RMODULE(VALUE obj) (4.0)

struct RData * RDATA(VALUE obj) (4.0)

絞り込み条件を変える

struct RFile * RFILE(VALUE obj) (4.0)

struct RFloat * RFLOAT(VALUE obj) (4.0)

struct RHash * RHASH(VALUE obj) (4.0)

struct RObject * ROBJECT(VALUE obj) (4.0)

struct RRegexp * RREGEXP(VALUE obj) (4.0)

絞り込み条件を変える

struct RString * RSTRING(VALUE obj) (4.0)

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

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

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

struct RStruct * RSTRUCT(VALUE obj) (4.0)

type* ALLOC(type) (4.0)

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

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

type* ALLOCA_N(type, n) (4.0)

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

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

type* ALLOC_N(type, n) (4.0)

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

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

絞り込み条件を変える

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

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

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

unsigned int FIX2UINT(VALUE x) (4.0)

Fixnum を unsigned int に変換します。 返り値が unsigned int の範囲から外れる場合は RangeError が発生します。

Fixnum を unsigned int に変換します。
返り値が unsigned int の範囲から外れる場合は RangeError が発生します。

unsigned int NUM2UINT(VALUE x) (4.0)

x を unsigned int 型の整数に変換します。

x を unsigned int 型の整数に変換します。

x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。

@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。

@raise RangeError x が unsigned int 型で表現できる値の範囲外であった場
合に発生します。

unsigned long FIX2ULONG(VALUE x) (4.0)

Fixnum を unsigned long に変換します。 Fixnum は常に unsigned long に収まります。

Fixnum を unsigned long に変換します。
Fixnum は常に unsigned long に収まります。

unsigned long NUM2ULONG(VALUE x) (4.0)

x を unsigned long 型の整数に変換します。

x を unsigned long 型の整数に変換します。

x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。

@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。

@raise RangeError x が unsigned long 型で表現できる値の範囲外であった場
合に発生します。

絞り込み条件を変える

unsigned short NUM2USHORT(VALUE x) (4.0)

x を unsigned short 型の整数に変換します。

x を unsigned short 型の整数に変換します。

x が Fixnum、Float、Bignum オブジェクトのいずれでもな
い場合は x.to_int による暗黙の型変換を試みます。

@raise TypeError x が nil の場合か、暗黙の型変換が成功しなかった場合に
発生します。

@raise RangeError x が unsigned short 型で表現できる値の範囲外であった
場合に発生します。

void * DATA_PTR(VALUE dta) (4.0)

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

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

void CLONESETUP(VALUE clone, VALUE obj) (4.0)

OBJSETUP() の変種。 clone を、obj から clone で作った オブジェクトとして初期化します。

OBJSETUP() の変種。
clone を、obj から clone で作った
オブジェクトとして初期化します。

void DUPSETUP(dup, obj) (4.0)

OBJSETUP() の変種。 dup を、obj から dup で作った オブジェクトとして初期化します。

OBJSETUP() の変種。
dup を、obj から dup で作った
オブジェクトとして初期化します。

void Data_Get_Struct(VALUE obj, type, type *svar) (4.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);
}

絞り込み条件を変える

void FL_REVERSE(VALUE x, int f) (4.0)

x のフラグ f を反転する。

x のフラグ f を反転する。

void FL_SET(VALUE x, int f) (4.0)

x に対してフラグ f をセットする。

x に対してフラグ f をセットする。

void FL_UNSET(VALUE x, int f) (4.0)

x のフラグ f をクリアする。

x のフラグ f をクリアする。

void MEMCPY(p1, p2, type, n) (4.0)

type 型のメモリ領域 p2 のうち先頭の n 個を p1 にコピーする。

type 型のメモリ領域 p2 のうち先頭の n 個を p1 にコピーする。

void MEMMOVE(p1, p2, type, n) (4.0)

type 型のメモリ領域 p2 のうち先頭の n 個を p1 に移動する。

type 型のメモリ領域 p2 のうち先頭の n 個を p1 に移動する。

絞り込み条件を変える

void MEMZERO(p, type, n) (4.0)

type 型のメモリ領域 p をゼロクリアする。 n は要素数。

type 型のメモリ領域 p をゼロクリアする。 n は要素数。

void NEWOBJ(obj, int typeflag) (4.0)

void OBJSETUP(obj, VALUE klass, int typeflag) (4.0)

obj をクラス klass とフラグ typeflag で初期化する。

obj をクラス klass とフラグ typeflag で初期化する。

void OBJ_FREEZE(VALUE x) (4.0)

void OBJ_INFECT(VALUE dest, VALUE src) (4.0)

src に汚染マークが付いていたら dest も汚染する。

src に汚染マークが付いていたら dest も汚染する。

絞り込み条件を変える

void OBJ_TAINT(VALUE x) (4.0)

x に汚染マークを付ける。

x に汚染マークを付ける。

void StringValue(VALUE val) (4.0)

val が String でなければ to_str メソッドを使って String に変換します。

val が String でなければ to_str メソッドを使って String に変換します。

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