ライブラリ
- ビルトイン (124)
- etc (12)
-
fiddle
/ import (96) - ostruct (12)
- socket (36)
クラス
- Array (21)
-
Fiddle
:: CStruct (36) - OpenStruct (12)
-
RubyVM
:: InstructionSequence (24) -
Socket
:: Option (36) - String (12)
- Struct (36)
- TracePoint (7)
モジュール
- Etc (12)
-
Fiddle
:: Importer (60) - ObjectSpace (24)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
Data
_ Get _ Struct (12) -
Data
_ Make _ Struct (12) -
Data
_ Wrap _ Struct (12) -
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 3
. 0 . 0 (5) -
NEWS for Ruby 3
. 1 . 0 (4) -
SC
_ THREAD _ DESTRUCTOR _ ITERATIONS (12) - bigdecimal (12)
-
blk
_ orphan (12) -
create
_ value (12) - data (12)
-
each
_ object (24) -
fc
_ i (12) - fiddle (12)
-
fiddle
/ import (12) -
fiddle
/ types (12) -
first
_ lineno (12) -
gvar
_ i (12) - hash (24)
-
instruction
_ sequence (7) -
ivar
_ i (12) - length (12)
- linger (12)
-
mark
_ global _ entry (12) - pack (21)
- pack テンプレート文字列 (12)
-
rb
_ exec (1) -
rb
_ exec _ arg _ addopt (1) -
rb
_ exec _ arg _ init (1) -
rb
_ exec _ err (1) -
rb
_ reserved _ word (12) -
rb
_ thread _ select (1) -
rb
_ time _ timespec _ new (10) -
ruby 1
. 6 feature (12) - size (24)
- sizeof (12)
-
st
_ init _ table _ with _ size (12) -
to
_ a (12) -
to
_ i (12) -
to
_ ptr (12) -
to
_ s (12) - union (12)
- unpack (12)
- value (12)
検索結果
先頭5件
-
Fiddle
:: Importer # struct(signature) -> Class (18125.0) -
C の構造体型に対応する Ruby のクラスを構築して返します。
...れを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_usec;
};
という構造体型に対応して
Timeval = struct(["long tv_sec", "long tv_usec"])
として構造体に対応するクラスを生成しま......Fiddle::CStruct を継承しています。詳しくは
そちらを参照してください。
@param signature 構造体の各要素を文字列で表現したものの配列
require 'fiddle/import'
module M
extend Fiddle::Importer
dlload "libc.so.6"
extern "int gettimeofday......(void*, void*)"
Timeval = struct(["long tv_sec", "long tv_usec"])
end
time = M::Timeval.malloc
M.gettimeofday(time, Fiddle::NULL)
p time.tv_sec
p time.tv_usec... -
TracePoint
# instruction _ sequence -> RubyVM :: InstructionSequence (9200.0) -
script_compiledイベント発生時にコンパイルされた RubyVM::InstructionSequenceインスタンスを返します。
...compiledイベント発生時にコンパイルされた
RubyVM::InstructionSequenceインスタンスを返します。
//emlist[例][ruby]{
TracePoint.new(:script_compiled) do |tp|
p tp.instruction_sequence # => <RubyVM::InstructionSequence:block in <main>@(eval):1>
end.enable do
eval("puts '... -
Struct
# hash -> Integer (9124.0) -
self が保持するメンバのハッシュ値を元にして算出した整数を返します。 self が保持するメンバの値が変化すればこのメソッドが返す値も変化します。
...も変化します。
//emlist[例][ruby]{
Dog = Struct.new(:name, :age)
dog = Dog.new("fred", 5)
p dog.hash #=> 7917421
dog.name = "john"
p dog.hash #=> -38913223
//}
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対し......て呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。... -
Struct
# length -> Integer (9124.0) -
構造体のメンバの数を返します。
...注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。
//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe =... -
Struct
# size -> Integer (9124.0) -
構造体のメンバの数を返します。
...注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。
//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe =... -
void Data
_ Get _ Struct(VALUE obj , type , type *svar) (6136.0) -
Ruby のオブジェクト obj から type 型へのポインタを とりだし svar に代入します。
...j から 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);
}... -
VALUE Data
_ Make _ Struct(VALUE klass , type , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , type *svar) (6130.0) -
type 型の構造体をヒープに割り当ててそれへのポインタを svar に代入し、クラス klass のインスタンスである Ruby のオブジェクトを生成し、それを返します。mark free はそれぞれマーク用・解放用の関数へのポインタです。 どちらも、必要ないときはかわりに 0 を渡します。
...t には svar の値が渡されます。
使用例
struct mytype {
int i;
char *s;
};
VALUE
my_s_new(klass)
VALUE klass;
{
struct mytype *dummy;
return Data_Make_Struct(MyClass, struct mytype,
mark_my, fr... -
VALUE Data
_ Wrap _ Struct(VALUE klass , RUBY _ DATA _ FUNC mark , RUBY _ DATA _ FUNC free , void *sval) (6130.0) -
C の構造体 sval をラップして klass クラスの インスタンスである Ruby オブジェクトを生成し、それを返します。 mark、free はそれぞれ sval のマーク用・解放用の 関数へのポインタです。どちらも、必要ないときはかわりに 0 を渡します。
...されます。
使用例
struct mytype {
int i;
char *s;
};
VALUE
my_s_new(klass)
VALUE klass;
{
struct mytype *m = malloc(sizeof(struct mytype));
m->i = 0;
m->s = 0;
return Data_Wrap_Struct(MyClass, 0, free_my, m);... -
Etc
:: SC _ THREAD _ DESTRUCTOR _ ITERATIONS -> Integer (3200.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。