るりまサーチ (Ruby 2.6.0)

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

別のキーワード

  1. _builtin to_i
  2. fiddle to_i
  3. matrix elements_to_i
  4. matrix i
  5. csv to_i

キーワード

検索結果

<< 1 2 > >>

Fiddle::Importer#struct(signature) -> Class (63676.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
...

TracePoint#instruction_sequence -> RubyVM::InstructionSequence (46201.0)

script_compiledイベント発生時にコンパイルされた RubyVM::InstructionSequenceインスタンスを返します。

script_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 'hello'")
end
//}

@raise RuntimeError :script_comp...

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

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

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

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

Struct#inspect -> String (45691.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#filter -> Enumerator (45379.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#filter {|i| ... } -> [object] (45379.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#each_pair -> Enumerator (45373.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 (45373.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#dig(key, ...) -> object | nil (45319.0)

self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。

self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
ます。途中のオブジェクトが nil であった場合は nil を返します。

@param key キーを任意個指定します。

//emlist[例][ruby]{
klass = Struct.new(:a)
o = klass.new(klass.new({b: [1, 2, 3]}))

o.dig(:a, :a, :b, 0) # => 1
o.dig(:b, 0) # => nil
//}

@see Array#dig, Hash#d...

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

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

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

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

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

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

絞り込み条件を変える

REXML::StreamListener#instruction(name, instruction) -> () (37201.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\""
という引数が渡されます。

RubyVM::InstructionSequence.load_from_binary(binary) -> RubyVM::InstructionSequence (37201.0)

RubyVM::InstructionSequence#to_binaryにより作られたバイナリフォーマットの文字列からiseqのオブジェクトをロードします。

RubyVM::InstructionSequence#to_binaryにより作られたバイナリフォーマットの文字列からiseqのオブジェクトをロードします。

このローダーは検証機構をもっておらず、壊れたり改変されたバイナリを読み込むと深刻な問題を引き起こします。

他者により提供されたバイナリデータはロードすべきではありません。自分が変換したバイナリデータを使うべきです。

//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
binary = iseq.to_binary
RubyVM:...

VALUE rb_time_timespec_new(const struct timespec *ts, int offset) (37201.0)

引数 ts、offset を元に Time オブジェクトを作成して返します。

引数 ts、offset を元に Time オブジェクトを作成して返します。

@param ts timespec 構造体のポインタ

@param offset 協定世界時との時差(秒)。
-86400 < offset < 86400 の場合は指定した時差に、INT_MAX
を指定した場合は地方時、INT_MAX-1 を指定した場合は UTC に
なります。

@raise ArgumentError offset に上述の範囲以外の値を指定した場合に発生し
ま...

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

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

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

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

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

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

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

@see RubyVM::InstructionSequence

絞り込み条件を変える

RubyVM::InstructionSequence.load_from_binary_extra_data(binary) -> String (36901.0)

バイナリフォーマットの文字列から埋め込まれたextra_dataを取り出します。

バイナリフォーマットの文字列から埋め込まれたextra_dataを取り出します。

//emlist[例][ruby]{
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
binary = iseq.to_binary("extra_data")
RubyVM::InstructionSequence.load_from_binary_extra_data(binary) # => extra_data
//}

@see RubyVM::InstructionSequence#to_binary

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

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

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

RubyVM::InstructionSequence#inspect -> String (36601.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_binary(extra_data = nil) -> String (36601.0)

バイナリフォーマットでシリアライズされたiseqのデータを文字列として返します。 RubyVM::InstructionSequence.load_from_binary メソッドでバイナリデータに対応するiseqオブジェクトを作れます。

バイナリフォーマットでシリアライズされたiseqのデータを文字列として返します。
RubyVM::InstructionSequence.load_from_binary メソッドでバイナリデータに対応するiseqオブジェクトを作れます。

引数の extra_data はバイナリデータと共に保存されます。
RubyVM::InstructionSequence.load_from_binary_extra_data メソッドでこの文字列にアクセス出来ます。

注意: 変換後のバイナリデータはポータブルではありません。 to_binary で得たバイナリデータは他のマシンに移動できません。他...

Struct#to_s -> String (36391.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#select {|i| ... } -> [object] (36379.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 (36373.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
//}

RubyVM::InstructionSequence#first_lineno -> Integer (36301.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

Struct#select -> Enumerator (36079.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 の下位クラスのインスタンスに対して...

REXML::Instruction (36019.0)

XML 処理命令(XML Processing Instruction, XML PI)を表すクラス。

XML 処理命令(XML Processing Instruction, XML PI)を表すクラス。

XML 処理命令 とは XML 文書中の <? と ?> で挟まれた部分のことで、
アプリケーションへの指示を保持するために使われます。

XML 宣言(文書先頭の <?xml version=... ?>)はXML処理命令ではありませんが、
似た見た目を持っています。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<?xml version="1.0" encoding="utf-...

絞り込み条件を変える

JSON::CircularDatastructure (36001.0)

JSON 形式の文字列を生成するときに循環するデータ構造があるときに発生する例外です。

JSON 形式の文字列を生成するときに循環するデータ構造があるときに発生する例外です。

OpenSSL::ASN1::Constructive (36001.0)

ASN.1 の構造型を表すクラスです。

ASN.1 の構造型を表すクラスです。

通常はこのクラス自身は用いず、各サブクラスを利用します。

RubyVM::InstructionSequence (36001.0)

Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。

Ruby の Virtual Machine のコンパイル済みの命令シーケンスを表すクラスです。

Method、Proc オブジェクトや Ruby のソースコードを表す文字列
から VM の命令シーケンスを得る事ができます。また、
RubyVM::InstructionSequence オブジェクトを元に命令シーケンスを読みやす
い文字列に変換する事もできます。Ruby の命令シーケンスコンパイラの設定を
扱う必要がありますが、Ruby の VM がどのように働くかを知るのに有用です。

VM の命令シーケンスの一覧はRuby のソースコード中の insns.def から参照で
きます。

...

RubyVM::InstructionSequence.compile(source, file = nil, path = nil, line = 1, options = nil) -> RubyVM::InstructionSequence (28801.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 オブ
...

Struct.new(*args, keyword_init: false) -> Class (27613.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, keyword_init: false) {|subclass| block } -> Class (27613.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 を指定できるのは後方互換...

OpenStruct#inspect -> String (27601.0)

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

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

@see Object#inspect

OpenStruct::InspectKey -> :__inspect_key__ (27601.0)

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

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

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
//}

絞り込み条件を変える

OpenStruct#dig(key, ...) -> object | nil (27319.0)

self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。

self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
ます。途中のオブジェクトが nil であった場合は nil を返します。

@param key キーを任意個指定します。

require 'ostruct'
address = OpenStruct.new('city' => "Anytown NC", 'zip' => 12345)
person = OpenStruct.new('name' => 'John Smith', 'address' => address)
person.dig(:address, 'zip') ...

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 # =...

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

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

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

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

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

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

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

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

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

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

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

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

nil は :IMPLICIT と同義です。

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

絞り込み条件を変える

OpenSSL::ASN1::Constructive#tagging=(tag) (27301.0)

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

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

@param tagging タグ付けの方式(:IMPLICIT または :EXPLICIT)
@see OpenSSL::ASN1::Constructive#tagging=

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

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

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

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

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

OpenStruct#each_pair -> Enumerator (27301.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 (27301.0)

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

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

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

例:

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

OpenStruct#modifiable -> Hash (27301.0)

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

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

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

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

絞り込み条件を変える

RubyVM::InstructionSequence#disasm -> String (27301.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 (27301.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.compile_option -> Hash (27301.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...

RubyVM::InstructionSequence.compile_option=(options) (27301.0)

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

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

@param options コンパイル時の最適化オプションを true、false、nil、
Hash のいずれかで指定します。true を指定した場合は
全てのオプションを有効にします。false を指定した場合は全
てのオプションを無効にします。nil を指定した場合はいずれ
のオプションも変更しません。また、Hash を指定した
場合は以...

RubyVM::InstructionSequence.disasm(body) -> String (27301.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 (27301.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...

Fiddle::CStruct (27073.0)

C の構造体を表すクラスです。

C の構造体を表すクラスです。

このクラスは直接は使わず、Fiddle::Importer#struct を用いて
このクラスを継承したクラスを生成し、それを利用します。

Fiddle::Importer#struct が生成するクラスには
構造体の各メンバへのアクセサが定義されています。
このアクセサはシグネチャの型とメンバ名に従って定義されます。
例えば
require 'fiddle/import'
include Fiddle::Importer
S = struct(["long foo", "void* bar"])
とすると、 S#foo, S#foo= という...

RubyVM::InstructionSequence.new(source, file = nil, path = nil, line = 1, options = nil) -> RubyVM::InstructionSequence (19501.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 オブ
...

st_table * st_init_table_with_size(struct st_hash_type *type, int size) (18949.0)

st_table を作成する。_with_size はサイズを指定して生成する。 struct st_hash_type はハッシュ値を得る関数と、同値判定を行う 関数を持つ。

st_table を作成する。_with_size はサイズを指定して生成する。
struct st_hash_type はハッシュ値を得る関数と、同値判定を行う
関数を持つ。

struct RBasic * RBASIC(VALUE obj) (18901.0)

絞り込み条件を変える

struct RBignum * RBIGNUM(VALUE obj) (18901.0)

struct RFile * RFILE(VALUE obj) (18901.0)

struct RString * RSTRING(VALUE obj) (18901.0)

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

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

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

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

VALUE Data_Wrap_Struct(VALUE klass, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free, void *sval) (18709.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;
...

絞り込み条件を変える

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 というプリプロセッサマクロをコンパ...

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

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

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

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

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

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

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

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

@param addr アドレス

Socket::Option#linger -> [bool, Integer] (18619.0)

オプションが SOL_SOCKET/SO_LINGER である場合に、 オプションのデータ(内容)を真偽値と整数のペアとして返します。

オプションが SOL_SOCKET/SO_LINGER である場合に、
オプションのデータ(内容)を真偽値と整数のペアとして返します。

@raise TypeError dataのバイト数が不適切である(sizeof(struct linger)と異なる)場合や、
level/optname が SOL_SOCKET/SO_LINGER でないに発生します
@see Socket::Option#data

絞り込み条件を変える

Etc::SC_THREAD_DESTRUCTOR_ITERATIONS -> Integer (18604.0)

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

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

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

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

self を複製します。

self を複製します。

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

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

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

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

Rake::Application#options -> OpenStruct (18601.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=...

RubyVM::InstructionSequence.of(body) -> RubyVM::InstructionSequence (18601.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 ...

絞り込み条件を変える

VALUE rb_gvar_defined(struct global_entry *entry) (18601.0)

entry で示されるグローバル変数が定義されているなら真。

entry で示されるグローバル変数が定義されているなら真。

st_table * st_init_table(struct st_hash_type *type) (18601.0)

static int fc_i(ID key, VALUE value, struct fc_result *res) (18601.0)

static int gvar_i(ID key, struct global_entry *entry, VALUE ary) (18601.0)

static int ivar_i(ID key, struct global_entry *entry, VALUE ary) (18601.0)

絞り込み条件を変える

void rb_thread_wait_for(struct timeval time) (18601.0)

time の長さの時間が経過するまでカレントスレッドを停止します。

time の長さの時間が経過するまでカレントスレッドを停止します。

void rb_timespec_now(struct timespec *ts) (18601.0)

現在時刻を取得してその結果を引数 ts で指定した timespec 構造体に格納します。

現在時刻を取得してその結果を引数 ts で指定した timespec 構造体に格納します。

@param ts timespec 構造体のポインタ

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

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

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

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

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

Fiddle::Importer#sizeof(t) -> Integer (18337.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 を返します。

それ...

絞り込み条件を変える

Array#dig(idx, ...) -> object | nil (18319.0)

self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。

self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
ます。途中のオブジェクトが nil であった場合は nil を返します。

@param idx インデックスを整数で任意個指定します。

//emlist[例][ruby]{
a = [[1, [2, 3]]]

a.dig(0, 1, 1) # => 3
a.dig(1, 2, 3) # => nil
a.dig(0, 0, 0) # => TypeError: Integer does not have #di...

Fiddle::Importer#union(signature) -> Class (18319.0)

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

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

共用体型を Ruby 上で定義する方法は Fiddle::Importer#struct と
ほぼ同様です。C における
typedef union epoll_data
{
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
は、Ruby上では
require 'fiddle/import'

module M
extend Fiddle::Importer
dlload "lib...

Hash#dig(key, ...) -> object | nil (18319.0)

self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し ます。途中のオブジェクトが nil であった場合は nil を返します。

self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返し
ます。途中のオブジェクトが nil であった場合は nil を返します。

@param key キーを任意個指定します。

//emlist[例][ruby]{
h = { foo: {bar: {baz: 1}}}

h.dig(:foo, :bar, :baz) # => 1
h.dig(:foo, :zot, :xyz) # => nil

g = { foo: [10, 11, 12] }
g.dig(:foo, 1) # => 11
//}

@see...

REXML::Instruction#content -> String | nil (18319.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#target -> String (18319.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...

絞り込み条件を変える

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

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

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

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

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

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

OpenStruct#to_s -> String (18301.0)

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

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

@see Object#inspect

RubyVM::InstructionSequence#absolute_path -> String | nil (18301.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 (18301.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 (18301.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 (18301.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...

fiddle/import (18091.0)

fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。

fiddle ライブラリのための高レベルインターフェースを提供するライブラリです。

通常は fiddle ライブラリを使わずこの fiddle/import ライブラリを使います。

主な使い方は fiddle も参照してください。

=== 高度な使用法

==== ○○の配列を関数に渡したい

例えば与えられた長さ len の double の配列の和を計算する関数
double sum(double *arry, int len);
があったとします。これを呼び出したい場合は以下のように Array#pack を使用します。

require 'fiddle/import'
m...

bigdecimal (18073.0)

bigdecimal は浮動小数点数演算ライブラリです。 任意の精度で 10 進表現された浮動小数点数を扱えます。

bigdecimal は浮動小数点数演算ライブラリです。
任意の精度で 10 進表現された浮動小数点数を扱えます。

//emlist[][ruby]{
require 'bigdecimal'
a = BigDecimal("0.123456789123456789")
b = BigDecimal("123456.78912345678", 40)
print a + b # => 0.123456912580245903456789e6
//}

一般的な 10 進数の計算でも有用です。2 進数の浮動小数点演算には微小な誤
差があるのに対し、BigDecimal では正確な値を得る事がで...

fiddle (18037.0)

*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。

*.dllや*.soなど、ダイナミックリンクライブラリを扱うためのライブラリです。

dl と同等の機能を持ちますが、
dl は 2.0 以降deprecated となり、2.2.0 で削除されました。このライブラリ
を代わりに使います。

=== 使い方

通常は fiddle/import ライブラリを require して
Fiddle::Importer モジュールを使用します。
Fiddle モジュール自体はプリミティブな機能しか提供していません。
Fiddle::Importer モジュールは以下のようにユーザが定義した
モジュールを拡張する形で使います。

require ...

絞り込み条件を変える

Addrinfo (18019.0)

ソケットのアドレス情報を保持するクラスです。

ソケットのアドレス情報を保持するクラスです。

ホスト/ポート番号/プロトコルなどを同定するために用いられます。
IPv4/IPv6/Unix domain socketなどのアドレス情報を保持することができます。

struct addrinfo に対応します。

fiddle/types (18019.0)

C の型の別名を定義するライブラリです。

C の型の別名を定義するライブラリです。

Fiddle::Win32Types や Fiddle::BasicTypes を Module#include する
ことで、Fiddle::Importer#extern や Fiddle::Importer#struct で
利用できる型が増えます。内部で Fiddle::Importer#typealias を
呼び出しています。

実装の問題があるため、 Fiddle::Importer#dlload を呼びだしてから
include してください。


require 'fiddle/import'
require 'fiddl...

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

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

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

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

@param other 比較対象

REXML::Instruction#content=(value) (18001.0)

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

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

@param value 新たなデータ(文字列)

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

Symbol :processing_instruction を返します。

Symbol :processing_instruction を返します。

絞り込み条件を変える

<< 1 2 > >>