るりまサーチ

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

別のキーワード

  1. string b
  2. _builtin b
  3. b string
  4. b _builtin

ライブラリ

キーワード

検索結果

Data#members -> [Symbol] (6101.0)

値オブジェクトのメンバの名前(Symbol)の配列を返します。

...(Symbol)の配列を返します。

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

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

Data.members -> [Symbol] (6101.0)

値オブジェクトのメンバの名前(Symbol)の配列を返します。

...値オブジェクトのメンバの名前(Symbol)の配列を返します。

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

Data#==(other) -> bool (101.0)

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

...うでない場合に false を返します。

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

//emlist[例][ruby]{
Dog = Data.define(:name, :age)
dog1 = Dog.new("Fred", 5)
dog2 = Dog.new("Fred", 5.0)

p 5 == 5.0 # => true
p 5.eql?(5.0) # => false

p...
...=> false
p dog1.equal?(dog2) # => false
//}

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

@see Object#==, Data#eql?...

Data#deconstruct -> [object] (101.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)
distan...
......
end
//}

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

@see d:spec/pattern_matching#matching_non_primitive_objects...

Data#eql?(other) -> bool (101.0)

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

...

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

p dog1 == dog2 # => true
p dog1.eql?(dog2) # => true
p dog1.equal?(dog2) # => false
//}

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

@see Object#eql?, Data#==...

絞り込み条件を変える

Data#to_h {|member, value| block } -> Hash (101.0)

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

...self のメンバ名(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 NC...
...123 Maple, Anytown NC", :zip=>24690}
//}

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

Data.define(*args) {|subclass| block } -> Class (101.0)

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

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

サブクラスでは値オブジェクトのメンバに対するアクセスメソッドが定義されています。

//emlist[例][ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
p fred.name # =>...
...ruby]{
Dog = Data.define(:name, :age)
fred = Dog.new("Fred", 5)
fred.age = 6 # => NoMethodError
//}

メンバを持たないサブクラスも定義可能です。
以下のように、パターンマッチに利用できます。

//emlist[例][ruby]{
class HTTPFetcher
Response = Data.define(:bo...
...= 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::Response(body)
b
o...