るりまサーチ

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

別のキーワード

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

ライブラリ

モジュール

検索結果

Forwardable#def_instance_delegator(accessor, method, ali = method) -> () (24207.0)

メソッドの委譲先を設定します。

...メソッド

@param ali 委譲元のメソッド

委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。

委譲元と委譲先のメソッド名が同じ場合は, ali を省略するこ...
...とが可能です。

def_delegator は def_instance_delegator の別名になります。

例:

require 'forwardable'
class MyQueue
extend Forwardable
attr_reader :queue
def initialize
@queue = []
end

def_delegator :@queue, :push, :mypush
end

q = MyQueue.new...
...q.mypush 42
q.queue # => [42]
q.push 23 # => NoMethodError

@see Forwardable#def_delegators...

Forwardable#def_instance_delegators(accessor, *methods) -> () (12200.0)

メソッドの委譲先をまとめて設定します。

...def_delegators は def_instance_delegators の別名になります。

また、以下の 2 つの例は同じ意味です。

def_delegators :@records, :size, :<<, :map

def_delegator :@records, :size
def_delegator :@records, :<<
def_delegator :@records, :map

@see Forwardable#def_delegato...

SingleForwardable (12006.0)

オブジェクトに対し、メソッドの委譲機能を定義するモジュールです。

...quire 'forwardable'
g = Goo.new
g.extend SingleForwardable
g.def_delegator("@out", :puts)
g.puts ...

また、SingleForwardable はクラスやモジュールに対して以下のようにする事もできます。

require 'forwardable'
class Implementation
def self.service...
...viced!"
end
end

module Facade
extend SingleForwardable
def_delegator :Implementation, :service
end

Facade.service # => serviced!

もし Forwardable と SingleForwardable の両方を使いたい場合、
def_instance_delegator
と def_single_delegator メソッドの方を...

Forwardable#def_delegator(accessor, method, ali = method) -> () (9107.0)

メソッドの委譲先を設定します。

...メソッド

@param ali 委譲元のメソッド

委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。

委譲元と委譲先のメソッド名が同じ場合は, ali を省略するこ...
...とが可能です。

def_delegator は def_instance_delegator の別名になります。

例:

require 'forwardable'
class MyQueue
extend Forwardable
attr_reader :queue
def initialize
@queue = []
end

def_delegator :@queue, :push, :mypush
end

q = MyQueue.new...
...q.mypush 42
q.queue # => [42]
q.push 23 # => NoMethodError

@see Forwardable#def_delegators...