種類
ライブラリ
- English (24)
- ビルトイン (513)
- csv (120)
- erb (12)
-
fiddle
/ import (24) - fileutils (12)
- json (36)
-
net
/ http (168) - objspace (48)
- openssl (120)
- optparse (12)
- ostruct (19)
- psych (8)
-
rexml
/ document (36) -
ripper
/ lexer (12) - uri (24)
-
webrick
/ httprequest (12)
クラス
- BasicObject (36)
- CSV (108)
-
CSV
:: Row (12) - Data (54)
- ERB (12)
- IO (12)
-
JSON
:: Parser (36) - MatchData (286)
-
Net
:: HTTP (84) -
Net
:: HTTPGenericRequest (24) - Object (12)
-
OpenSSL
:: ASN1 :: ASN1Data (24) -
OpenSSL
:: ASN1 :: Sequence (12) -
OpenSSL
:: ASN1 :: Set (24) - OpenStruct (19)
- OptionParser (12)
-
REXML
:: CData (36) - Regexp (24)
- Ripper (12)
-
RubyVM
:: InstructionSequence (20) - String (12)
-
WEBrick
:: HTTPRequest (12)
モジュール
-
Fiddle
:: Importer (24) - FileUtils (12)
-
GC
:: Profiler (12) - Kernel (36)
- Marshal (24)
-
Net
:: HTTPHeader (60) - ObjectSpace (48)
-
OpenSSL
:: ASN1 (48) - Psych (8)
- URI (24)
キーワード
-
$ LAST _ MATCH _ INFO (12) -
$ LAST _ PAREN _ MATCH (12) -
$ ~ (12) - == (15)
- ASN1 (12)
- DATA (12)
-
Data
_ Get _ Struct (12) -
Data
_ Make _ Struct (12) -
Data
_ Wrap _ Struct (12) -
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 3 . 0 (10) -
NEWS for Ruby 2
. 4 . 0 (9) -
RUBY
_ DATA _ FUNC (12) - Sequence (12)
- Set (24)
- [] (54)
- begin (12)
- bind (12)
- body (12)
- body= (12)
- byteoffset (6)
- captures (12)
-
content
_ type (12) -
content
_ type= (12) -
count
_ objects _ size (12) -
count
_ tdata _ objects (12) - decode (12)
-
decode
_ www _ form _ component (12) - deconstruct (5)
-
deconstruct
_ keys (5) - define (6)
- dump (24)
-
encode
_ www _ form _ component (12) - end (12)
- environment (12)
- eql? (15)
- fdatasync (12)
- field? (12)
-
field
_ size _ limit (12) -
form
_ data= (12) - gets (12)
- hash (3)
- inspect (15)
- instance (24)
-
instance
_ eval (24) -
last
_ match (12) - length (12)
-
load
_ from _ binary _ extra _ data (10) - match (24)
- members (6)
-
memsize
_ of (12) -
memsize
_ of _ all (12) -
method
_ missing (12) - mkdir (12)
-
named
_ captures (12) - names (12)
-
net
/ http (12) - new (90)
- offset (24)
- parse (12)
- post (24)
- post2 (24)
-
post
_ match (12) -
pre
_ match (12) - query (12)
-
raw
_ data (12) -
rb
_ data _ object _ alloc (12) -
rb
_ protect (12) - read (12)
- readline (12)
- readlines (12)
- regexp (12)
-
request
_ post (24) -
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 8 . 5 feature (12) -
ruby 1
. 9 feature (12) -
rubygems
/ security (12) -
safe
_ load (8) -
send
_ request (12) -
set
_ content _ type (12) -
set
_ form _ data (12) - shift (12)
- size (12)
- source (12)
- string (12)
-
to
_ a (12) -
to
_ binary (10) -
to
_ h (25) -
to
_ s (27) -
token
_ match (12) - union (12)
- value (24)
- value= (12)
-
values
_ at (12) - with (3)
- yaml (12)
- 制御構造 (12)
検索結果
先頭5件
-
Data (44054.0)
-
「値オブジェクト(value object)」の定義に利用できるクラスです。
...このクラスは Ruby 3.0 で削除されました。
拡張ライブラリを書く時に new が定義されているとまずい場合が
あるため、Object から new と allocate を undef したクラスです。
Ruby スクリプトレベルでは気にする必要は全くありませ......「値オブジェクト(value object)」の定義に利用できるクラスです。
以下のような特徴があります。
* オブジェクト同士の比較は、型の比較およびメンバの値の比較によって行われます。
* オブジェクトはイミュータブルに......せん。
Data.define でオブジェクトのクラスを定義できます。定義されたクラスは Data のサブクラスとなります。
Data のサブクラスでは、メンバに対するアクセスメソッドが定義されています。
Data と似たクラスに Struct があ......ります。Struct はメンバの書き換えや列挙が可能であるなど、
よりコンテナ風の API を提供するクラスです。
//emlist[例][ruby]{
# Dogクラスを定義
Dog = Data.define(:name, :age)
# Dogクラスのインスタンスを作成
fred = Dog.new("Fred", 5)
#... -
Data
# with(**kwargs) -> Data (27261.0) -
self をコピーしたオブジェクトを返します。
...gumentError 存在しないメンバを指定した場合に発生します。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
dog1 = Dog.new("Fred", 5) # => #<data Dog name="Fred", age=5>
dog2 = dog1.with(age: 6) # => #<data Dog name="Fred", age=6>
p dog1 # => #<data Dog......Fred", age=5>
dog3 = dog1.with(type: "Terrier") # => ArgumentError (unknown keyword: :type)
# メンバのオブジェクトはコピーされず、同じオブジェクトを参照する。
dog1.name.upcase!
p dog1 # => #<data Dog name="FRED", age=5>
p dog2 # => #<data Dog name="FRED", age=6>
//}......[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。... -
Data
# deconstruct -> [object] (27148.0) -
self のメンバの値を配列で返します。
...。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')
distance.deconstruct # => [10, "km"]
//}
このメソッドは以下のようにパターンマッチで利用されます。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Meas......')
case distance
in n, 'km' # 裏側で #deconstruct を呼ぶ
puts "It is #{n} kilometers away"
else
puts "Don't know how to handle it"
end
# "It is 10 kilometers away" が表示される
# 以下のようにも書ける
case distance
in Measure(n, 'km')
puts "It is #{n} kilometers away"
#.........
end
//}
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。
@see d:spec/pattern_matching#matching_non_primitive_objects... -
Data
# deconstruct _ keys(array _ of _ names _ or _ nil) -> Hash (27148.0) -
self のメンバの名前と値の組を Hash で返します。
...と値の組を Hash で返します。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')
distance.deconstruct_keys(nil) # => {:amount=>10, :unit=>"km"}
distance.deconstruct_keys([:amount]) # => {:amount=>10}
//}
このメソッドは以下のよう......す。
//emlist[例][ruby]{
Measure = Data.define(:amount, :unit)
distance = Measure.new(10, 'km')
case distance
in amount:, unit: 'km' # 裏側で #deconstruct_keys を呼ぶ
puts "It is #{amount} kilometers away"
else
puts "Don't know how to handle it"
end
# "It is 10 kilometers away" が表......e distance
in Measure(amount:, unit: 'km')
puts "It is #{amount} kilometers away"
# ...
end
//}
@param array_of_names_or_nil 返り値に含めるメンバの名前の配列を指定します。nil の場合は全てのメンバを意味します。
[注意] 本メソッドの記述は Data の... -
Data
# to _ h -> Hash (27142.0) -
self のメンバ名(Symbol)と値の組を Hash にして返します。
...(Symbol)と値の組を Hash にして返します。
//emlist[例][ruby]{
Customer = Data.define(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h
# => {:name=>"Joe Smith", :address=>"123 Maple, Anytown NC", :zip=>12345}
//}
ブロックを指定すると各ペ......ます。
//emlist[ブロック付きの例][ruby]{
Customer = Data.define(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h {|member, value|
[member, value*2]
} # => {:name=>"Joe SmithJoe Smith", :address=>"123 Maple, Anytown NC123 Maple, Anytown NC", :zip=>246......90}
//}
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。... -
Data
# to _ h {|member , value| block } -> Hash (27142.0) -
self のメンバ名(Symbol)と値の組を Hash にして返します。
...(Symbol)と値の組を Hash にして返します。
//emlist[例][ruby]{
Customer = Data.define(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h
# => {:name=>"Joe Smith", :address=>"123 Maple, Anytown NC", :zip=>12345}
//}
ブロックを指定すると各ペ......ます。
//emlist[ブロック付きの例][ruby]{
Customer = Data.define(:name, :address, :zip)
Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345).to_h {|member, value|
[member, value*2]
} # => {:name=>"Joe SmithJoe Smith", :address=>"123 Maple, Anytown NC123 Maple, Anytown NC", :zip=>246......90}
//}
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。... -
Data
# inspect -> String (27136.0) -
self の内容を人間に読みやすい文字列にして返します。
...す。
//emlist[例][ruby]{
Customer = Data.define(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.inspect # => "#<data Customer name=\"Joe Smith\", address=\"123 Maple, Anytown NC\", zip=12345>"
//}
[注意] 本メソッドの記述は Data のサブク......ラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。... -
Data
# to _ s -> String (27136.0) -
self の内容を人間に読みやすい文字列にして返します。
...す。
//emlist[例][ruby]{
Customer = Data.define(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe.inspect # => "#<data Customer name=\"Joe Smith\", address=\"123 Maple, Anytown NC\", zip=12345>"
//}
[注意] 本メソッドの記述は Data のサブク......ラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。... -
Data
. [](**kwargs) -> Data (24292.0) -
(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。
...メソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。
@param args 値オブジェクトのメンバの値を指定します。
@param kwargs 値オブジェクトのメンバの値を指定します。
@return 値オブジェ......インスタンス。
@raise ArgumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。
//emlist[例][ruby]{
Point = Data.define(:x, :y)
p1 = Point.new(1, 2)
p p1.x # => 1
p p1.y # => 2
p2 = Point.new(x: 3, y: 4)
p p2.x # => 3
p p......そのまま initialize に渡されます。
ユーザが initialize のオーバーライドを通して、少ない引数のときの適切な振舞いを実装可能とするためです。
次の例ではいずれのケースでもエラーが発生していますが、
Point.new に渡した... -
Data
. [](*args) -> Data (24292.0) -
(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。
...メソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。
@param args 値オブジェクトのメンバの値を指定します。
@param kwargs 値オブジェクトのメンバの値を指定します。
@return 値オブジェ......インスタンス。
@raise ArgumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。
//emlist[例][ruby]{
Point = Data.define(:x, :y)
p1 = Point.new(1, 2)
p p1.x # => 1
p p1.y # => 2
p2 = Point.new(x: 3, y: 4)
p p2.x # => 3
p p......そのまま initialize に渡されます。
ユーザが initialize のオーバーライドを通して、少ない引数のときの適切な振舞いを実装可能とするためです。
次の例ではいずれのケースでもエラーが発生していますが、
Point.new に渡した... -
Data
. new(**kwargs) -> Data (24292.0) -
(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。
...メソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。
@param args 値オブジェクトのメンバの値を指定します。
@param kwargs 値オブジェクトのメンバの値を指定します。
@return 値オブジェ......インスタンス。
@raise ArgumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。
//emlist[例][ruby]{
Point = Data.define(:x, :y)
p1 = Point.new(1, 2)
p p1.x # => 1
p p1.y # => 2
p2 = Point.new(x: 3, y: 4)
p p2.x # => 3
p p......そのまま initialize に渡されます。
ユーザが initialize のオーバーライドを通して、少ない引数のときの適切な振舞いを実装可能とするためです。
次の例ではいずれのケースでもエラーが発生していますが、
Point.new に渡した... -
Data
. new(*args) -> Data (24292.0) -
(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。
...メソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。
@param args 値オブジェクトのメンバの値を指定します。
@param kwargs 値オブジェクトのメンバの値を指定します。
@return 値オブジェ......インスタンス。
@raise ArgumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。
//emlist[例][ruby]{
Point = Data.define(:x, :y)
p1 = Point.new(1, 2)
p p1.x # => 1
p p1.y # => 2
p2 = Point.new(x: 3, y: 4)
p p2.x # => 3
p p......そのまま initialize に渡されます。
ユーザが initialize のオーバーライドを通して、少ない引数のときの適切な振舞いを実装可能とするためです。
次の例ではいずれのケースでもエラーが発生していますが、
Point.new に渡した... -
Data
# hash -> Integer (24146.0) -
自身のハッシュ値を整数で返します。 Data#eql? で比較して等しいオブジェクトは同じハッシュ値を返します。
...自身のハッシュ値を整数で返します。
Data#eql? で比較して等しいオブジェクトは同じハッシュ値を返します。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
dog1 = Dog.new("Fred", 5)
p dog1.hash # => -3931425561194935428
dog2 = Dog.new("Fred", 5)
p dog2.ha......w("Fred", 6)
p dog3.hash # => -4469132459285820530
//}
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作成する点に
注意してください。
@see Object#hash... -
Data
# ==(other) -> bool (24136.0) -
self と other のクラスが同じであり、各メンバが == メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。
...lf と other のクラスが同じであり、各メンバが == メソッドで比較して等しい場合に
true を返します。そうでない場合に false を返します。
@param other self と比較したいオブジェクトを指定します。
//emlist[例][ruby]{
Dog = Data.define......> true
p 5.eql?(5.0) # => false
p dog1 == dog2 # => true
p dog1.eql?(dog2) # => false
p dog1.equal?(dog2) # => false
//}
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data......のサブクラスを作成する点に
注意してください。
@see Object#==, Data#eql?... -
Data
# eql?(other) -> bool (24136.0) -
self と other のクラスが同じであり、各メンバが eql? メソッドで比較して等しい場合に true を返します。そうでない場合に false を返します。
...f と other のクラスが同じであり、各メンバが eql? メソッドで比較して等しい場合に
true を返します。そうでない場合に false を返します。
@param other self と比較したいオブジェクトを指定します。
//emlist[例][ruby]{
Dog = Data.defin......= dog2 # => true
p dog1.eql?(dog2) # => true
p dog1.equal?(dog2) # => false
//}
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを作......成する点に
注意してください。
@see Object#eql?, Data#==... -
Data
. define(*args) -> Class (24124.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...
Data クラスに新しいサブクラスを作って、それを返します。
サブクラスでは値オブジェクトのメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
p fred.name # =>......ist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
fred.age = 6 # => NoMethodError
//}
メンバを持たないサブクラスも定義可能です。
以下のように、パターンマッチに利用できます。
//emlist[例][ruby]{
class HTTPFetcher
Response = Data.d......body)
NotFound = Data.define
def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end
def fetch(url)
fetcher = HTTPFetcher.new
case fetcher.get(url)
in HTTPFetcher::Resp... -
Data
. define(*args) {|subclass| block } -> Class (24124.0) -
Data クラスに新しいサブクラスを作って、それを返します。
...
Data クラスに新しいサブクラスを作って、それを返します。
サブクラスでは値オブジェクトのメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
p fred.name # =>......ist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
fred.age = 6 # => NoMethodError
//}
メンバを持たないサブクラスも定義可能です。
以下のように、パターンマッチに利用できます。
//emlist[例][ruby]{
class HTTPFetcher
Response = Data.d......body)
NotFound = Data.define
def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Current time is #{Time.now}")
else
NotFound.new
end
end
end
def fetch(url)
fetcher = HTTPFetcher.new
case fetcher.get(url)
in HTTPFetcher::Resp... -
Data
# members -> [Symbol] (24030.0) -
値オブジェクトのメンバの名前(Symbol)の配列を返します。
...返します。
//emlist[例][ruby]{
Foo = Data.define(:foo, :bar)
p Foo.new(1, 2).members # => [:foo, :bar]
//}
[注意] 本メソッドの記述は Data のサブクラスのインスタンスに対して呼び
出す事を想定しています。Data.define は Data のサブクラスを... -
Data
. members -> [Symbol] (24012.0) -
値オブジェクトのメンバの名前(Symbol)の配列を返します。
...値オブジェクトのメンバの名前(Symbol)の配列を返します。
//emlist[例][ruby]{
Foo = Data.define(:foo, :bar)
p Foo.members # => [:foo, :bar]
//}... -
RubyVM
:: InstructionSequence . load _ from _ binary _ extra _ data(binary) -> String (18341.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... -
MACRO RUBY
_ DATA _ FUNC(func) (18300.0) -
任意の関数へのポインタ func を struct RData の dmark/dfree の 値として適する型に強制キャストします。
...任意の関数へのポインタ func を struct RData の dmark/dfree の
値として適する型に強制キャストします。... -
ObjectSpace
. # count _ tdata _ objects(result _ hash = nil) -> Hash (15368.0) -
T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。
...
T_DATA の種類ごとにオブジェクトの数を格納したハッシュを返します。
@param result_hash 戻り値のためのハッシュを指定します。省略した場合は新
しくハッシュを作成します。result_hash の内容は上書き......raise TypeError result_hash にハッシュ以外を指定した時に発生します。
本メソッドは普通の Ruby プログラマ向けのメソッドではありません。パフォー
マンスに興味のある C Ruby の開発者向けのものです。
//emlist[例][ruby]{
ObjectSpac......e.count_tdata_objects
# => {RubyVM::InstructionSequence=>504, :parser=>5, :barrier=>6,
# :mutex=>6, Proc=>60, RubyVM::Env=>57, Mutex=>1, Encoding=>99,
# ThreadGroup=>1, Binding=>1, Thread=>1, RubyVM=>1, :iseq=>1,
# Random=>1, ARGF.class=>1, Data=>1, :autoload=>3, Time=>2}
//}
現在の... -
VALUE rb
_ data _ object _ alloc(VALUE klass , void *datap , RUBY _ DATA _ FUNC dmark , RUBY _ DATA _ FUNC dfree) (13000.0) -
datap をラップするオブジェクトを生成し、返します。 そのクラスは klass となり、datap をマークするときは dmark、解放するときは dfree を使うようになります。
...
datap をラップするオブジェクトを生成し、返します。
そのクラスは klass となり、datap をマークするときは
dmark、解放するときは dfree を使うようになります。...