るりまサーチ (Ruby 2.2.0)

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

別のキーワード

  1. _builtin >
  2. bigdecimal >
  3. module >
  4. float >
  5. complex >

検索結果

<< 1 2 > >>

Fiddle::Importer#struct(signature) -> Class (54658.0)

C の構造体型に対応する Ruby のクラスを構築して返します。

C の構造体型に対応する Ruby のクラスを構築して返します。

構造体の各要素は C と似せた表記ができます。そしてそれを
配列で signature に渡してデータを定義します。例えば C における
struct timeval {
long tv_sec;
long tv_usec;
};
という構造体型に対応して
Timeval = struct(["long tv_sec", "long tv_usec"])
として構造体に対応するクラスを生成します。

このメソッドが返すクラスには以下のメソッドが定義されています
* クラスメソッド malloc
...

Struct.[](*args) -> Struct (27727.0)

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体オブジェクトを生成して返します。

(このメソッドは Struct の下位クラスにのみ定義されています)
構造体オブジェクトを生成して返します。

@param args 構造体の初期値を指定します。メンバの初期値は指定されなければ nil です。

@return 構造体クラスのインスタンス。

@raise ArgumentError 構造体のメンバの数よりも多くの引数を指定した場合に発生します。

//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
foo = Foo.new(1)
p foo.values # => [1, nil]
//}

Struct.new(*args) -> Struct (27727.0)

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体オブジェクトを生成して返します。

(このメソッドは Struct の下位クラスにのみ定義されています)
構造体オブジェクトを生成して返します。

@param args 構造体の初期値を指定します。メンバの初期値は指定されなければ nil です。

@return 構造体クラスのインスタンス。

@raise ArgumentError 構造体のメンバの数よりも多くの引数を指定した場合に発生します。

//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
foo = Foo.new(1)
p foo.values # => [1, nil]
//}

Struct.new(*args) -> Class (27667.0)

Struct クラスに新しいサブクラスを作って、それを返します。

Struct クラスに新しいサブクラスを作って、それを返します。

サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。

//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
//}

実装の都合により、クラス名の省略は後づけの機能でした。
メンバ名に String を指定できるのは後方互換...

Struct.new(*args) {|subclass| block } -> Class (27667.0)

Struct クラスに新しいサブクラスを作って、それを返します。

Struct クラスに新しいサブクラスを作って、それを返します。

サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。

//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
//}

実装の都合により、クラス名の省略は後づけの機能でした。
メンバ名に String を指定できるのは後方互換...

絞り込み条件を変える

Struct.json_create(hash) -> Struct (27604.0)

JSON のオブジェクトから Ruby のオブジェクトを生成して返します。

JSON のオブジェクトから Ruby のオブジェクトを生成して返します。

@param hash 適切なキーを持つハッシュを指定します。

OpenStruct#new_ostruct_member(name) -> Symbol (27601.0)

与えられた名前のアクセサメソッドを自身に定義します。

与えられた名前のアクセサメソッドを自身に定義します。

@param name 文字列かシンボルで定義するアクセサの名前を指定します。

Struct#[](member) -> object (27409.0)

構造体のメンバの値を返します。

構造体のメンバの値を返します。

@param member Integer でメンバのインデックスを指定します。
Symbol, String でメンバの名前を指定します。

@raise IndexError member が整数で存在しないメンバを指定した場合に発生します。

@raise NameError member が String, Symbol で存在しないメンバを指定した場合に発生します。

//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
obj = Foo.new('FOO', 'BAR')
p ...

Struct#==(other) -> bool (27391.0)

self と other のクラスが同じであり、各メンバが == メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。

self と other のクラスが同じであり、各メンバが == メソッドで比較して等しい場合に
true を返します。そうでない場合に false を返します。

@param other self と比較したいオブジェクトを指定します。

//emlist[例][ruby]{
Dog = Struct.new(:name, :age)
dog1 = Dog.new("fred", 5)
dog2 = Dog.new("fred", 5)

p dog1 == dog2 #=> true
p dog1.eql?(dog2) #=> tr...

Struct#eql?(other) -> bool (27391.0)

self と other のクラスが同じであり、各メンバが eql? メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。

self と other のクラスが同じであり、各メンバが eql? メソッドで比較して等しい場合に
true を返します。そうでない場合に false を返します。

@param other self と比較したいオブジェクトを指定します。

//emlist[例][ruby]{
Dog = Struct.new(:name, :age)
dog1 = Dog.new("fred", 5)
dog2 = Dog.new("fred", 5)

p dog1 == dog2 #=> true
p dog1.eql?(dog2) #=> ...

絞り込み条件を変える

Struct#equal?(other) -> bool (27391.0)

指定された other が self 自身である場合のみ真を返します。 これは Object クラスで定義されたデフォルトの動作で す。

指定された other が self 自身である場合のみ真を返します。
これは Object クラスで定義されたデフォルトの動作で
す。

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。


@see Struct#eql?, Struct#==

Struct#inspect -> String (27391.0)

self の内容を人間に読みやすい文字列にして返します。

self の内容を人間に読みやすい文字列にして返します。

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。

//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.inspect # => "#<struct Customer name=\...

Struct#to_s -> String (27391.0)

self の内容を人間に読みやすい文字列にして返します。

self の内容を人間に読みやすい文字列にして返します。

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。

//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.inspect # => "#<struct Customer name=\...

Struct#each -> Enumerator (27373.0)

構造体の各メンバに対して繰り返します。

構造体の各メンバに対して繰り返します。

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。

//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.each {|x| puts(x) }

# => Joe Smith
# 123 Map...

Struct#each {|value| ... } -> self (27373.0)

構造体の各メンバに対して繰り返します。

構造体の各メンバに対して繰り返します。

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。

//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.each {|x| puts(x) }

# => Joe Smith
# 123 Map...

絞り込み条件を変える

Struct#each_pair -> Enumerator (27373.0)

構造体のメンバ名(Symbol)と値の組を引数にブロックを繰り返し実行します。

構造体のメンバ名(Symbol)と値の組を引数にブロックを繰り返し実行します。

//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
Foo.new('FOO', 'BAR').each_pair {|m, v| p [m,v]}
# => [:foo, "FOO"]
# [:bar, "BAR"]
//}

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。

Struct#each_pair {|member, value| ... } -> self (27373.0)

構造体のメンバ名(Symbol)と値の組を引数にブロックを繰り返し実行します。

構造体のメンバ名(Symbol)と値の組を引数にブロックを繰り返し実行します。

//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
Foo.new('FOO', 'BAR').each_pair {|m, v| p [m,v]}
# => [:foo, "FOO"]
# [:bar, "BAR"]
//}

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。

Struct#hash -> Integer (27373.0)

self が保持するメンバのハッシュ値を元にして算出した整数を返します。 self が保持するメンバの値が変化すればこのメソッドが返す値も変化します。

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#length -> Integer (27373.0)

構造体のメンバの数を返します。

構造体のメンバの数を返します。

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。

//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.length #=> 3
//}

Struct#members -> [Symbol] (27373.0)

構造体のメンバの名前(Symbol)の配列を返します。

構造体のメンバの名前(Symbol)の配列を返します。

//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
p Foo.new.members # => [:foo, :bar]
//}

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。

絞り込み条件を変える

Struct#select -> Enumerator (27373.0)

構造体のメンバの値に対してブロックを評価した値が真であった要素を全て含 む配列を返します。真になる要素がひとつもなかった場合は空の配列を返しま す。

構造体のメンバの値に対してブロックを評価した値が真であった要素を全て含
む配列を返します。真になる要素がひとつもなかった場合は空の配列を返しま
す。

ブロックを省略した場合は Enumerator を返します。

//emlist[例][ruby]{
Lots = Struct.new(:a, :b, :c, :d, :e, :f)
l = Lots.new(11, 22, 33, 44, 55, 66)
l.select {|v| (v % 2).zero? } #=> [22, 44, 66]
//}

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して...

Struct#select {|i| ... } -> [object] (27373.0)

構造体のメンバの値に対してブロックを評価した値が真であった要素を全て含 む配列を返します。真になる要素がひとつもなかった場合は空の配列を返しま す。

構造体のメンバの値に対してブロックを評価した値が真であった要素を全て含
む配列を返します。真になる要素がひとつもなかった場合は空の配列を返しま
す。

ブロックを省略した場合は Enumerator を返します。

//emlist[例][ruby]{
Lots = Struct.new(:a, :b, :c, :d, :e, :f)
l = Lots.new(11, 22, 33, 44, 55, 66)
l.select {|v| (v % 2).zero? } #=> [22, 44, 66]
//}

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して...

Struct#size -> Integer (27373.0)

構造体のメンバの数を返します。

構造体のメンバの数を返します。

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。

//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.length #=> 3
//}

Struct#to_a -> [object] (27373.0)

構造体のメンバの値を配列にいれて返します。

構造体のメンバの値を配列にいれて返します。

//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_a
# => ["Joe Smith", "123 Maple, Anytown NC", 12345]
//}

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してくだ...

Struct#to_h -> Hash (27373.0)

self のメンバ名(Symbol)と値の組を Hash にして返します。

self のメンバ名(Symbol)と値の組を Hash にして返します。

//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h
# => {:name=>"Joe Smith", :address=>"123 Maple, Anytown NC", :zip=>12345}
//}


[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています...

絞り込み条件を変える

Struct#values -> [object] (27373.0)

構造体のメンバの値を配列にいれて返します。

構造体のメンバの値を配列にいれて返します。

//emlist[例][ruby]{
Customer = Struct.new(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_a
# => ["Joe Smith", "123 Maple, Anytown NC", 12345]
//}

[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してくだ...

Struct#values_at(*members) -> [object] (27373.0)

引数で指定されたメンバの値の配列を返します。

引数で指定されたメンバの値の配列を返します。

@param members Integer か Range でメンバのインデックスを指定します。

@raise IndexError member が整数で存在しないメンバを指定した場合に発生します。

//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar, :baz)
obj = Foo.new('FOO', 'BAR', 'BAZ')
p obj.values_at(0, 1, 2) # => ["FOO", "BAR", "BAZ"]
//}

[注意] 本メソッドの記述は Struct の...

Struct.members -> [Symbol] (27367.0)

(このメソッドは Struct の下位クラスにのみ定義されています) 構造体のメンバの名前(Symbol)の配列を返します。

(このメソッドは Struct の下位クラスにのみ定義されています)
構造体のメンバの名前(Symbol)の配列を返します。

//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
p Foo.members # => [:foo, :bar]
//}

Struct#to_json(*args) -> String (27319.0)

自身を JSON 形式の文字列に変換して返します。

自身を JSON 形式の文字列に変換して返します。

内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。

@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。

//emlist[例][ruby]{
require "json/add/core"

Person = Struct.new(:name, :age)
Person.new("tanaka", 29).to_json # =...

REXML::StreamListener#instruction(name, instruction) -> () (18901.0)

XML処理命令(PI)をパースしたときに呼び出されるコールバックメソッドです。

XML処理命令(PI)をパースしたときに呼び出されるコールバックメソッドです。

@param name ターゲット名が文字列で渡されます
@param instruction 処理命令の内容が文字列で渡されます

=== 例
<?xml-stylesheet type="text/css" href="style.css"?>
というPIに対し
name: "xml-stylesheet"
instruction: " type=\"text/css\" href=\"style.css\""
という引数が渡されます。

絞り込み条件を変える

Kernel#have_struct_member(type, member, headers = nil) -> bool (18661.0)

member というメンバを持つ構造体 type がシステムに存在するかどうか検査します。

member というメンバを持つ構造体 type がシステムに存在するかどうか検査します。

member というメンバを持つ構造体 type がシステムに存在する場合は、
グローバル変数 $defs に "-DHAVE_type_member" を追加し、真を返します。
member というメンバを持つ構造体 type が存在しない場合は、偽を返します。

例えば

require 'mkmf'
have_struct_member('struct foo', 'bar') # => true

である場合、HAVE_STRUCT_FOO_BAR というプリプロセッサマクロをコンパ...

Kernel#have_struct_member(type, member, headers = nil) { ... } -> bool (18661.0)

member というメンバを持つ構造体 type がシステムに存在するかどうか検査します。

member というメンバを持つ構造体 type がシステムに存在するかどうか検査します。

member というメンバを持つ構造体 type がシステムに存在する場合は、
グローバル変数 $defs に "-DHAVE_type_member" を追加し、真を返します。
member というメンバを持つ構造体 type が存在しない場合は、偽を返します。

例えば

require 'mkmf'
have_struct_member('struct foo', 'bar') # => true

である場合、HAVE_STRUCT_FOO_BAR というプリプロセッサマクロをコンパ...

REXML::Element#instructions -> [REXML::Instraction] (18601.0)

すべての instruction 子ノードの配列を返します。

すべての instruction 子ノードの配列を返します。

返される配列は freeze されます。

REXML::Parsers::PullEvent#instruction? -> bool (18601.0)

XML処理命令なら真を返します。

XML処理命令なら真を返します。

REXML::SAX2Listener#processing_instruction(target, data) -> () (18601.0)

XML 処理命令(PI)に対し呼び出されるコールバックメソッドです。

XML 処理命令(PI)に対し呼び出されるコールバックメソッドです。

@param target ターゲット名が文字列で渡されます
@param data 処理命令の内容が文字列で渡されます

絞り込み条件を変える

RubyVM::INSTRUCTION_NAMES -> [String] (18601.0)

RubyVM の命令シーケンスの名前の一覧を返します。

RubyVM の命令シーケンスの名前の一覧を返します。

@see RubyVM::InstructionSequence

OpenStruct (18037.0)

要素を動的に追加・削除できる手軽な構造体を提供するクラスです。

要素を動的に追加・削除できる手軽な構造体を提供するクラスです。

OpenStruct のインスタンスに対して未定義なメソッド x= を呼ぶと、
OpenStruct クラスの BasicObject#method_missing で捕捉され、そのインスタンスに
インスタンスメソッド x, x= が定義されます。
この挙動によって要素を動的に変更できる構造体として働きます。

require 'ostruct'
ab = OpenStruct.new
ab.foo = 25
p ab.foo # => 25
ab.bar = 2
p ab.bar ...

RubyVM::InstructionSequence.of(body) -> RubyVM::InstructionSequence (9835.0)

引数 body で指定した Proc、Method オブジェクトを元に RubyVM::InstructionSequence オブジェクトを作成して返します。

引数 body で指定した Proc、Method オブジェクトを元に
RubyVM::InstructionSequence オブジェクトを作成して返します。

@param body Proc、Method オブジェクトを指定します。

例1:irb で実行した場合

# proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> # => <RubyVM::InstructionSequence:block in irb_binding@(irb)>

# method
> def ...

Fiddle::CStruct.malloc -> Fiddle::CStruct (9637.0)

構造体のためのメモリを確保し、Fiddle::CStruct の(子孫クラスの) オブジェクトで返します。

構造体のためのメモリを確保し、Fiddle::CStruct の(子孫クラスの)
オブジェクトで返します。

C における
return (struct foo*)malloc(sizeof(struct foo));
というコードと対応していると言えます。

Fiddle::CStruct.new(addr) -> Fiddle::CStruct (9619.0)

addr のアドレスが指すメモリを構造体のアドレスとみなし、 構造体を作ります。

addr のアドレスが指すメモリを構造体のアドレスとみなし、
構造体を作ります。

C におけるキャストと似ています。
return (struct foo*)addr;
というコードと対応していると言えます。

@param addr アドレス

絞り込み条件を変える

RubyVM::InstructionSequence.compile_file(file, options = nil) -> RubyVM::InstructionSequence (9619.0)

引数 file で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。

引数 file で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。

RubyVM::InstructionSequence.compile とは異なり、file、path などの
メタデータは自動的に取得します。

@param file ファイル名を文字列で指定します。

@param options コンパイル時のオプションを true、false、Hash オブ
ジェクトのいずれかで指定します。詳細は
RubyVM::Instr...

Etc::SC_THREAD_DESTRUCTOR_ITERATIONS -> Integer (9601.0)

Etc.#sysconf の引数に指定します。

Etc.#sysconf の引数に指定します。

詳細は sysconf(3) を参照してください。

OpenStruct#to_h -> { Symbol => object } (9601.0)

self を各要素の名前をキー(Symbol)、要素が値のハッシュに変換して返 します。

self を各要素の名前をキー(Symbol)、要素が値のハッシュに変換して返
します。


//emlist[例][ruby]{
require 'ostruct'
data = OpenStruct.new("country" => "Australia", :capital => "Canberra")
data.to_h # => {:country => "Australia", :capital => "Canberra" }
//}

OpenStruct.json_create(hash) -> OpenStruct (9601.0)

JSON のオブジェクトから OpenStruct のオブジェクトを生成して返します。

JSON のオブジェクトから OpenStruct のオブジェクトを生成して返します。

@param hash OpenStruct.new に指定可能な値をキー 't' もしくは :t に持つハッシュを指定します。

OpenStruct.new(hash = nil) -> OpenStruct (9601.0)

OpenStruct オブジェクトを生成します。

OpenStruct オブジェクトを生成します。

ハッシュが与えられたとき、それぞれのキーを生成したオブジェクトの要素にし、値をセットします。

@param hash 設定する要素とその値を指定します。
hash には Hash クラスのインスタンス、または each_pair メソッ
ドを持つオブジェクトを用いる事ができます。
@raise NoMethodError hash のキーが to_sym メソッドを持たないときに発生します。

require 'ostruct'
some1 = OpenStruct.new({:a =>"a",:b =...

絞り込み条件を変える

REXML::Instruction#clone -> REXML::Instruction (9601.0)

self を複製します。

self を複製します。

REXML::Instruction.new(target, content = nil) -> REXML::Instruction (9601.0)

新たな Instruction オブジェクトを生成します。

新たな Instruction オブジェクトを生成します。

@param target ターゲット
@param content 内容

RubyVM::InstructionSequence.compile(source, file = nil, path = nil, line = 1, options = nil) -> RubyVM::InstructionSequence (9601.0)

引数 source で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。

引数 source で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。

@param source Ruby のソースコードを文字列で指定します。

@param file ファイル名を文字列で指定します。

@param path 引数 file の絶対パスファイル名を文字列で指定します。

@param line 引数 source の 1 行目の行番号を指定します。

@param options コンパイル時のオプションを true、false、Hash オブ
...

RubyVM::InstructionSequence.new(source, file = nil, path = nil, line = 1, options = nil) -> RubyVM::InstructionSequence (9601.0)

引数 source で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。

引数 source で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。

@param source Ruby のソースコードを文字列で指定します。

@param file ファイル名を文字列で指定します。

@param path 引数 file の絶対パスファイル名を文字列で指定します。

@param line 引数 source の 1 行目の行番号を指定します。

@param options コンパイル時のオプションを true、false、Hash オブ
...

RubyVM::InstructionSequence#absolute_path -> String | nil (9337.0)

self が表す命令シーケンスの絶対パスを返します。

self が表す命令シーケンスの絶対パスを返します。

self を文字列から作成していた場合は nil を返します。

例1:irb で実行した場合

iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.absolute_path
# => nil

例2: RubyVM::InstructionSequence.compile_file を使用した場合

# /tmp/method....

絞り込み条件を変える

RubyVM::InstructionSequence#base_label -> String (9337.0)

self が表す命令シーケンスの基本ラベルを返します。

self が表す命令シーケンスの基本ラベルを返します。

例1:irb で実行した場合

iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.base_label
# => "<compiled>"

例2: RubyVM::InstructionSequence.compile_file を使用した場合

# /tmp/method.rb
def hello
puts "h...

RubyVM::InstructionSequence#label -> String (9337.0)

self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、 モジュール名などで構成されます。

self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、
モジュール名などで構成されます。

トップレベルでは "<main>" を返します。self を文字列から作成していた場合
は "<compiled>" を返します。

例1:irb で実行した場合

iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.label
# => "<compiled>"

例2: R...

RubyVM::InstructionSequence#path -> String (9337.0)

self が表す命令シーケンスの相対パスを返します。

self が表す命令シーケンスの相対パスを返します。

self の作成時に指定した文字列を返します。self を文字列から作成していた
場合は "<compiled>" を返します。

例1:irb で実行した場合

iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.path
# => "<compiled>"

例2: RubyVM::InstructionSequence.compi...

RubyVM::InstructionSequence.disasm(body) -> String (9337.0)

引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。

引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。

@param body Proc、Method オブジェクトを指定します。

例1:Proc オブジェクトを指定した場合

# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)

出力:

== disasm: <RubyVM::InstructionSequence:block in <main...

RubyVM::InstructionSequence.disassemble(body) -> String (9337.0)

引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。

引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。

@param body Proc、Method オブジェクトを指定します。

例1:Proc オブジェクトを指定した場合

# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)

出力:

== disasm: <RubyVM::InstructionSequence:block in <main...

絞り込み条件を変える

RubyVM::InstructionSequence#disasm -> String (9319.0)

self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。

self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。

puts RubyVM::InstructionSequence.compile('1 + 2').disasm

出力:

== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje...

RubyVM::InstructionSequence#disassemble -> String (9319.0)

self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。

self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。

puts RubyVM::InstructionSequence.compile('1 + 2').disasm

出力:

== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje...

Fiddle::CStruct#to_i -> Integer (9301.0)

保持している構造体の先頭アドレスを整数で返します。

保持している構造体の先頭アドレスを整数で返します。

Fiddle::CStruct#to_ptr -> Fiddle::Pointer (9301.0)

保持している構造体へのポインタを返します。

保持している構造体へのポインタを返します。

Fiddle::CStruct.size -> Integer (9301.0)

構造体のサイズをバイト数で返します。

構造体のサイズをバイト数で返します。

このメソッドが返す値は C の構造体としてのサイズです。
Ruby のオブジェクトとしてはより大きなメモリを消費しています。

絞り込み条件を変える

OpenSSL::ASN1::Constructive#each {|item| ... } -> self (9301.0)

構造型のデータに含まれる各要素に対してブロックを 評価します。

構造型のデータに含まれる各要素に対してブロックを
評価します。

OpenSSL::ASN1::Constructive#tagging -> Symbol | nil (9301.0)

タグ付けの方式を返します。

タグ付けの方式を返します。

:IMPLICIT、:EXPLICIT、nil のいずれかを返します。

タグ(OpenSSL::ASN1::ASN1Data#tag)が :UNIVERSAL ならば
この値は無視されます。

nil は :IMPLICIT と同義です。

@see OpenSSL::ASN1::Constructive#tagging=

OpenStruct#==(other) -> bool (9301.0)

自身と比較対象のオブジェクトが等しい場合に真を返します。 そうでない場合は、偽を返します。

自身と比較対象のオブジェクトが等しい場合に真を返します。
そうでない場合は、偽を返します。

@param other 比較対象のオブジェクトを指定します。

OpenStruct#[](name) -> object (9301.0)

引数 name で指定した要素に対応する値を返します。

引数 name で指定した要素に対応する値を返します。

@param name 要素の名前を文字列か Symbol オブジェクトで指定します。

例:

require 'ostruct'
person = OpenStruct.new('name' => 'John Smith', 'age' => 70)
person[:age] # => 70, person.age と同じ

OpenStruct#delete_field(name) -> object (9301.0)

nameで指定された要素を削除します。

nameで指定された要素を削除します。

その後その要素を参照したら nil が返ります。

@param name 削除する要素を文字列かシンボルで指定します。
@return 削除前の要素の値を返します。

絞り込み条件を変える

OpenStruct#each_pair -> Enumerator (9301.0)

self の各要素の名前と要素を引数としてブロックを評価します。

self の各要素の名前と要素を引数としてブロックを評価します。

ブロックを指定した場合は self を返します。そうでない場合は
Enumerator を返します。

例:

require 'ostruct'
data = OpenStruct.new("country" => "Australia", :population => 20_000_000)
data.each_pair.to_a # => population, 20000000

OpenStruct#each_pair { |key, value| } -> self (9301.0)

self の各要素の名前と要素を引数としてブロックを評価します。

self の各要素の名前と要素を引数としてブロックを評価します。

ブロックを指定した場合は self を返します。そうでない場合は
Enumerator を返します。

例:

require 'ostruct'
data = OpenStruct.new("country" => "Australia", :population => 20_000_000)
data.each_pair.to_a # => population, 20000000

OpenStruct#eql?(other) -> bool (9301.0)

self と other が等しい場合に true を返します。そうでない場合は false を 返します。

self と other が等しい場合に true を返します。そうでない場合は false を
返します。

具体的には other が OpenStruct オブジェクトかそのサブクラスでかつ、
self の各要素を保持した内部の Hash が eql? で比較して等しい場合に
true を返します。

@param other 比較対象のオブジェクトを指定します。

OpenStruct#hash -> Integer (9301.0)

self のハッシュ値を返します。

self のハッシュ値を返します。

OpenStruct#inspect -> String (9301.0)

オブジェクトを人間が読める形式に変換した文字列を返します。

オブジェクトを人間が読める形式に変換した文字列を返します。

@see Object#inspect

絞り込み条件を変える

OpenStruct#modifiable -> Hash (9301.0)

このメソッドは内部的に使用されます。

このメソッドは内部的に使用されます。

自身が Object#freeze されている場合にこのメソッドを呼び出すと例外が発生します。

@raise TypeError 自身が Object#freeze されている場合に発生します。

OpenStruct#to_json(*args) -> String (9301.0)

自身を JSON 形式の文字列に変換して返します。

自身を JSON 形式の文字列に変換して返します。

内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。

@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。

@see JSON::Generator::GeneratorMethods::Hash#to_json

OpenStruct#to_s -> String (9301.0)

オブジェクトを人間が読める形式に変換した文字列を返します。

オブジェクトを人間が読める形式に変換した文字列を返します。

@see Object#inspect

OpenStruct::InspectKey -> :__inspect_key__ (9301.0)

内部的に使用する定数です。

内部的に使用する定数です。

REXML::Instruction#==(other) -> bool (9301.0)

other と self が同じ 処理命令である場合に真を返します。

other と self が同じ 処理命令である場合に真を返します。

同じとは、 REXML::Instruction#target と REXML::Instruction#content
が一致することを意味します。

@param other 比較対象

絞り込み条件を変える

REXML::Instruction#content -> String | nil (9301.0)

XML 処理命令の内容を返します。

XML 処理命令の内容を返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/css" href="style.css"?>
<?foobar?>
<root />
EOS
doc[2] # => <?p-i xml-stylesheet ...?>
doc[2].target # => "xml-stylesheet"
doc[2].content...

REXML::Instruction#node_type -> Symbol (9301.0)

Symbol :processing_instruction を返します。

Symbol :processing_instruction を返します。

REXML::Instruction#target -> String (9301.0)

XML 処理命令のターゲットを返します。

XML 処理命令のターゲットを返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/css" href="style.css"?>
<root />
EOS
doc[2] # => <?p-i xml-stylesheet ...?>
doc[2].target # => "xml-stylesheet"
doc[2].content # => "t...

RubyVM::InstructionSequence#eval -> object (9301.0)

self の命令シーケンスを評価してその結果を返します。

self の命令シーケンスを評価してその結果を返します。

RubyVM::InstructionSequence.compile("1 + 2").eval # => 3

RubyVM::InstructionSequence#first_lineno -> Integer (9301.0)

self が表す命令シーケンスの 1 行目の行番号を返します。

self が表す命令シーケンスの 1 行目の行番号を返します。

例1:irb で実行した場合

RubyVM::InstructionSequence.compile('num = 1 + 2').first_lineno
# => 1

例2:

# /tmp/method.rb
require "foo-library"
def foo
p :foo
end

RubyVM::InstructionSequence.of(method(:foo)).first_lineno
# => 2

絞り込み条件を変える

RubyVM::InstructionSequence#inspect -> String (9301.0)

self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。

self の情報をラベルとパスを含んだ人間に読みやすい文字列にして返します。

//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
iseq.inspect # => "<RubyVM::InstructionSequence:<compiled>@<compiled>>"
//}

@see RubyVM::InstructionSequence#label,
RubyVM::InstructionSequence#path

RubyVM::InstructionSequence#to_a -> Array (9301.0)

self の情報を 14 要素の配列にして返します。

self の情報を 14 要素の配列にして返します。

命令シーケンスを以下の情報で表します。

: magic

データフォーマットを示す文字列。常に
"YARVInstructionSequence/SimpleDataFormat"。

: major_version

命令シーケンスのメジャーバージョン。

: minor_version

命令シーケンスのマイナーバージョン。

: format_type

データフォーマットを示す数値。常に 1。

: misc

以下の要素から構成される Hash オブジェクト。

:arg_size: メソッド、ブ...

RubyVM::InstructionSequence.compile_option -> Hash (9301.0)

命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返 します。

命令シーケンスのコンパイル時のデフォルトの最適化オプションを Hash で返
します。

//emlist[例][ruby]{
require "pp"
pp RubyVM::InstructionSequence.compile_option

# => {:inline_const_cache=>true,
# :peephole_optimization=>true,
# :tailcall_optimization=>false,
# :specialized_instruction=>true,
# :operands_unification=>true,
# :instructi...

Fiddle::Importer#create_value(type, val = nil) -> Fiddle::CStruct (649.0)

型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。

型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。

type は "int", "void*" といった文字列で型を指定します。
val に nil 以外を指定すると、確保された構造体に
その値を代入します。

@param type 型を表す文字列
@param val 構造体に確保される初期値


require 'fiddle/import'

module M
...

Fiddle::Importer#value(type, val = nil) -> Fiddle::CStruct (649.0)

型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。

型が type で要素名が "value" であるような構造体を
定義(Fiddle::Importer#struct)し、
その構造体のメモリを Fiddle::CStruct#malloc で確保し、
確保したメモリを保持しているオブジェクトを返します。

type は "int", "void*" といった文字列で型を指定します。
val に nil 以外を指定すると、確保された構造体に
その値を代入します。

@param type 型を表す文字列
@param val 構造体に確保される初期値


require 'fiddle/import'

module M
...

絞り込み条件を変える

Rake::Application#options -> OpenStruct (619.0)

コマンドラインで与えられたアプリケーションのオプションを返します。

コマンドラインで与えられたアプリケーションのオプションを返します。

//emlist[][ruby]{
# Rakefile での記載例とする

task default: :test_rake_app
task :test_rake_app do
Rake.application.options # => #<OpenStruct always_multitask=false, backtrace=false, build_all=false, dryrun=false, ignore_deprecate=false, ignore_system=false, job_stats=...

OpenSSL::ASN1.#traverse(der) {|depth, off, hlen, len, constructed, tag_class, tag| ...} -> nil (601.0)

DER形式の文字列を解析し、そこに含まれる ASN.1 の値 のプロパティを引数として与えられたブロックを呼びだします。

DER形式の文字列を解析し、そこに含まれる ASN.1 の値
のプロパティを引数として与えられたブロックを呼びだします。

OpenSSL::ASN1.#decode_all のように、文字列に含まれる
全ての ASN.1 オブジェクトのインスタンスを解析します。

ブロックに渡される引数は以下の通りです。
* depth: 再帰の深さ
* off: 対象の値をエンコードした文字列の der の先頭からのオフセット
* hlen: エンコードされたデータのヘッダのバイト数
* len: エンコードされたデータの値フィールドのバイト数
* constructed:対象の AS...

Fiddle::Importer#typealias(new, orig) -> () (367.0)

extern や struct で利用する型の別名を定義します。

extern や struct で利用する型の別名を定義します。

@param new 別名(文字列)
@param orig 別名を付けたい型の名前(文字列)
@see Fiddle::Importer#extern, Fiddle::Importer#sizeof,
Fiddle::Importer#struct, Fiddle::Importer#union

Array#pack(template) -> String (355.0)

配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。

配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。

テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。


@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。


以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができま...

ObjectSpace.#each_object -> Enumerator (355.0)

指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。

指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。

ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。

次のクラスのオブジェクトについては繰り返しません

* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass

とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy...

絞り込み条件を変える

ObjectSpace.#each_object {|object| ...} -> Integer (355.0)

指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。

指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。

ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。

次のクラスのオブジェクトについては繰り返しません

* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass

とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy...

ObjectSpace.#each_object(klass) -> Enumerator (355.0)

指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。

指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。

ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。

次のクラスのオブジェクトについては繰り返しません

* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass

とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy...

ObjectSpace.#each_object(klass) {|object| ...} -> Integer (355.0)

指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。

指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。

ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。

次のクラスのオブジェクトについては繰り返しません

* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass

とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy...

String#unpack(template) -> Array (355.0)

Array#pack で生成された文字列を テンプレート文字列 template にしたがってアンパックし、 それらの要素を含む配列を返します。

Array#pack で生成された文字列を
テンプレート文字列 template にしたがってアンパックし、
それらの要素を含む配列を返します。

@param template pack テンプレート文字列
@return オブジェクトの配列


以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができます。「長さ」の代わりに`*'とすることで「残り全て」
を表すこともできます。

長さの意味はテンプレート文字により異なりますが大抵、
"iiii"
のよう...

Addrinfo#to_s -> String (349.0)

struct sockaddr をパックした形式の文字列に変換します。

struct sockaddr をパックした形式の文字列に変換します。

require 'socket'

Addrinfo.tcp("localhost", 80).to_sockaddr
#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"

絞り込み条件を変える

Addrinfo#to_sockaddr -> String (349.0)

struct sockaddr をパックした形式の文字列に変換します。

struct sockaddr をパックした形式の文字列に変換します。

require 'socket'

Addrinfo.tcp("localhost", 80).to_sockaddr
#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"

rexml/document (343.0)

DOM スタイルの XML パーサ。

DOM スタイルの XML パーサ。

REXML::Document.new で XML 文書から DOM ツリーを
構築し、ツリーのノードの各メソッドで文書の内容にアクセスします。

以下のプログラムではブックマークの XML からデータを取り出します。

//emlist[][ruby]{
require 'rexml/document'
require 'pp'

Bookmark = Struct.new(:href, :title, :desc)

doc = REXML::Document.new(<<XML)
<?xml version="1.0" encoding="UTF-...

ruby 1.6 feature (343.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。

((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。

== 1.6.8 (2002-12-24) -> stable-snapshot

: 2003-01-22: errno

EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま...

Fiddle::Importer#sizeof(t) -> Integer (337.0)

C における sizeof(t) の値を返します。

C における sizeof(t) の値を返します。

t が文字列の場合、その文字列が表す C の型の size が返されます。
例えば、sizeof("char") は 1 を返します。
sizeof("char*") は環境によって 4 や 8 といった値を返します。

Fiddle::Importer#struct で定義した
構造体クラスを渡すと、その構造体のサイズを返します。
Fiddle::Importer#union で定義した共用体クラスも同様です。

t がクラスの場合、t が to_ptr というインスタンスメソッドを持っている
ならば t.size を返します。

それ...

Addrinfo.new(sockaddr, family=Socket::PF_UNSPEC, socktype=0, protocol=0) -> Addrinfo (319.0)

新たな Addrinfo オブジェクトを返します。

新たな Addrinfo オブジェクトを返します。

sockaddr は connect(2) などで使われるパラメータで、
struct sockaddr に対応します。faimily, socktype, protocol
は socket(2) のパラメータに対応します。

sockaddr には文字列もしくは配列を指定します。
配列の場合は IPSocket#addr や UNIXSocket#addr の
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket.unpack_sockaddr_un で得られるようなものでなければ
な...

絞り込み条件を変える

<< 1 2 > >>