るりまサーチ

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

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

クラス

オブジェクト

キーワード

検索結果

Data.define(*args) -> Class (26147.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.age = 6 #...
...
以下のように、パターンマッチに利用できます。

//emlist[例][ruby]{
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}")...
...指定した場合

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

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

Data.define(*args) {|subclass| block } -> Class (26147.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.age = 6 #...
...
以下のように、パターンマッチに利用できます。

//emlist[例][ruby]{
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}")...
...指定した場合

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

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

main.define_method(name) { ... } -> Symbol (14111.0)

インスタンスメソッド name を Object に定義します。

...いずれかのインスタンスを指定します。

@return メソッド名を表す Symbol を返します。

@raise TypeError method に同じクラス、サブクラス以外のメソッドを指定し
た場合に発生します。


@see Module#define_method...

main.define_method(name, method) -> Symbol (14111.0)

インスタンスメソッド name を Object に定義します。

...いずれかのインスタンスを指定します。

@return メソッド名を表す Symbol を返します。

@raise TypeError method に同じクラス、サブクラス以外のメソッドを指定し
た場合に発生します。


@see Module#define_method...

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

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

...gumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。

//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': wrong n...
...イドすることで 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 Po...

絞り込み条件を変える

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

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

...gumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。

//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': wrong n...
...イドすることで 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 Po...

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

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

...gumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。

//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': wrong n...
...イドすることで 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 Po...

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

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

...gumentError 値オブジェクトのメンバの数より多くの引数を渡した場合に発生します。

//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': wrong n...
...イドすることで 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 Po...

Data.members -> [Symbol] (8009.0)

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

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

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