るりまサーチ

最速Rubyリファレンスマニュアル検索!
30件ヒット [1-30件を表示] (0.080秒)

別のキーワード

  1. openssl p
  2. openssl p=
  3. fileutils mkdir_p
  4. kernel p
  5. kernel $-p

クラス

キーワード

検索結果

Data.define(*args) -> Class (39282.0)

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

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

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

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

メンバの値を書き換えることはできません。

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

メンバを持たないサブクラスも定義可能です。
以下のように、パタ...
...]{
class HTTPFetcher
Response = Data.define(: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...

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

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

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

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

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

メンバの値を書き換えることはできません。

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

メンバを持たないサブクラスも定義可能です。
以下のように、パタ...
...]{
class HTTPFetcher
Response = Data.define(: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...

Data (38062.0)

「値オブジェクト(value object)」の定義に利用できるクラスです。

...はありません。

Data
.define でオブジェクトのクラスを定義できます。定義されたクラスは Data のサブクラスとなります。
Data
のサブクラスでは、メンバに対するアクセスメソッドが定義されています。

Data
と似たクラスに St...
...API を提供するクラスです。

//emlist[例][ruby]{
# Dogクラスを定義
Dog = Data.define(:name, :age)

# Dogクラスのインスタンスを作成
fred = Dog.new("Fred", 5)

# メンバにアクセスできる
p
fred.name # => "Fred"

# キーワード引数でも構築できる
p
Dog...
....new(name: "Terry", age: 3)

# メンバの値を書き換えることはできない
fred.age = 6 # => NoMethodError
//}

なお、Ruby 2.7 以前に存在し Ruby 3.0 で削除された Data クラスとは異なります。...

Data#inspect -> String (27144.0)

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

...list[例][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 (24044.0)

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

...list[例][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 (21254.0)

(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。

...(このメソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。

@param args 値オブジェクトのメンバの値を指定します。

@param kwargs 値オブジェクトのメンバの値を指定します。

@return 値オ...
...より多くの引数を渡した場合に発生します。

//emlist[例][ruby]{
P
oint = Data.define(:x, :y)

p
1 = Point.new(1, 2)
p
p1.x # => 1
p
p1.y # => 2

p
2 = Point.new(x: 3, y: 4)
p
p2.x # => 3
p
p2.y # => 4
//}

new に渡す引数の数がメンバの数より多い場合は...
...
P
oint.new に渡した位置引数の数が多い場合(上から2番目)のみ new でエラーが発生しており、
残りのケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

//emlist[例][ruby]{
P
oint = Data.define(:x, :y)

P
...

Data.[](*args) -> Data (21254.0)

(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。

...(このメソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。

@param args 値オブジェクトのメンバの値を指定します。

@param kwargs 値オブジェクトのメンバの値を指定します。

@return 値オ...
...より多くの引数を渡した場合に発生します。

//emlist[例][ruby]{
P
oint = Data.define(:x, :y)

p
1 = Point.new(1, 2)
p
p1.x # => 1
p
p1.y # => 2

p
2 = Point.new(x: 3, y: 4)
p
p2.x # => 3
p
p2.y # => 4
//}

new に渡す引数の数がメンバの数より多い場合は...
...
P
oint.new に渡した位置引数の数が多い場合(上から2番目)のみ new でエラーが発生しており、
残りのケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

//emlist[例][ruby]{
P
oint = Data.define(:x, :y)

P
...

Data.new(**kwargs) -> Data (21254.0)

(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。

...(このメソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。

@param args 値オブジェクトのメンバの値を指定します。

@param kwargs 値オブジェクトのメンバの値を指定します。

@return 値オ...
...より多くの引数を渡した場合に発生します。

//emlist[例][ruby]{
P
oint = Data.define(:x, :y)

p
1 = Point.new(1, 2)
p
p1.x # => 1
p
p1.y # => 2

p
2 = Point.new(x: 3, y: 4)
p
p2.x # => 3
p
p2.y # => 4
//}

new に渡す引数の数がメンバの数より多い場合は...
...
P
oint.new に渡した位置引数の数が多い場合(上から2番目)のみ new でエラーが発生しており、
残りのケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

//emlist[例][ruby]{
P
oint = Data.define(:x, :y)

P
...

Data.new(*args) -> Data (21254.0)

(このメソッドは Data のサブクラスにのみ定義されています) 値オブジェクトを生成して返します。

...(このメソッドは Data のサブクラスにのみ定義されています)
値オブジェクトを生成して返します。

@param args 値オブジェクトのメンバの値を指定します。

@param kwargs 値オブジェクトのメンバの値を指定します。

@return 値オ...
...より多くの引数を渡した場合に発生します。

//emlist[例][ruby]{
P
oint = Data.define(:x, :y)

p
1 = Point.new(1, 2)
p
p1.x # => 1
p
p1.y # => 2

p
2 = Point.new(x: 3, y: 4)
p
p2.x # => 3
p
p2.y # => 4
//}

new に渡す引数の数がメンバの数より多い場合は...
...
P
oint.new に渡した位置引数の数が多い場合(上から2番目)のみ new でエラーが発生しており、
残りのケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

//emlist[例][ruby]{
P
oint = Data.define(:x, :y)

P
...

Data#with(**kwargs) -> Data (21187.0)

self をコピーしたオブジェクトを返します。

...

@param kwargs コピーされたオブジェクトに設定されるメンバの値を指定します。

@raise ArgumentError 存在しないメンバを指定した場合に発生します。

//emlist[例][ruby]{
Dog = Data.define(:name, :age)
dog1 = Dog.new("Fred", 5) # => #<data Dog name=...
...=> #<data Dog name="Fred", age=6>
p
dog1 # => #<data Dog name="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#==(other) -> bool (21074.0)

self と other のクラスが同じであり、各メンバが == メソッドで比較して等しい場合に true を返します。そうでない場合に 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
dog1 == dog2 # => true
p
dog1.eql...
...=> false
p
dog1.equal?(dog2) # => false
//}

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

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

Data#hash -> Integer (21072.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.hash # => -3931425561194...
...935428
dog3 = Dog.new("Fred", 6)
p
dog3.hash # => -4469132459285820530
//}

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

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

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

...返します。

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

//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#members -> [Symbol] (21044.0)

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

...す。

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

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

Data.members -> [Symbol] (21020.0)

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

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

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

絞り込み条件を変える