るりまサーチ

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

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

クラス

キーワード

検索結果

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

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....
...スも定義可能です。
以下のように、パターンマッチに利用できます。

//emlist[例][ruby]{
class HTTPFetcher
Response = Data.define(:body)
NotFound = Data.define

def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Curre...
...指定した場合

Data.define にブロックを指定した場合は定義した Data をコンテキストにブロックを評価します。
また、定義した Data はブロックパラメータにも渡されます。

//emlist[例][ruby]{
Customer = Data.define(:name, :address) do
def...

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

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....
...スも定義可能です。
以下のように、パターンマッチに利用できます。

//emlist[例][ruby]{
class HTTPFetcher
Response = Data.define(:body)
NotFound = Data.define

def get(url)
# ダミーの実装
if url == "http://example.com/"
Response.new(body: "Curre...
...指定した場合

Data.define にブロックを指定した場合は定義した Data をコンテキストにブロックを評価します。
また、定義した Data はブロックパラメータにも渡されます。

//emlist[例][ruby]{
Customer = Data.define(:name, :address) do
def...

Data.[](**kwargs) -> Data (49.0)

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

...@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 p2.y # => 4
//}

new...
...のケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

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

Point.new(1) # => in `initialize': missing keyword: :y (ArgumentError)
Point.new(1, 2, 3) # => in `new'...
...バーライドすることで new のオプション引数を実現できます。

//emlist[オプション引数を実現する例][ruby]{
Point = Data.define(:x, :y) do
def initialize(x:, y: 0)
super
end
end

Point.new(x: 1) # => #<data Point x=1, y=0>
Point.new(x: 1, y: 2) # =>...

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

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

...@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 p2.y # => 4
//}

new...
...のケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

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

Point.new(1) # => in `initialize': missing keyword: :y (ArgumentError)
Point.new(1, 2, 3) # => in `new'...
...バーライドすることで new のオプション引数を実現できます。

//emlist[オプション引数を実現する例][ruby]{
Point = Data.define(:x, :y) do
def initialize(x:, y: 0)
super
end
end

Point.new(x: 1) # => #<data Point x=1, y=0>
Point.new(x: 1, y: 2) # =>...

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

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

...@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 p2.y # => 4
//}

new...
...のケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

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

Point.new(1) # => in `initialize': missing keyword: :y (ArgumentError)
Point.new(1, 2, 3) # => in `new'...
...バーライドすることで new のオプション引数を実現できます。

//emlist[オプション引数を実現する例][ruby]{
Point = Data.define(:x, :y) do
def initialize(x:, y: 0)
super
end
end

Point.new(x: 1) # => #<data Point x=1, y=0>
Point.new(x: 1, y: 2) # =>...

絞り込み条件を変える

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

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

...@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 p2.y # => 4
//}

new...
...のケースではエラーの発生箇所は new ではなく initialize であることに注意してください。

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

Point.new(1) # => in `initialize': missing keyword: :y (ArgumentError)
Point.new(1, 2, 3) # => in `new'...
...バーライドすることで new のオプション引数を実現できます。

//emlist[オプション引数を実現する例][ruby]{
Point = Data.define(:x, :y) do
def initialize(x:, y: 0)
super
end
end

Point.new(x: 1) # => #<data Point x=1, y=0>
Point.new(x: 1, y: 2) # =>...

Data.members -> [Symbol] (13.0)

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

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

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