るりまサーチ

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

別のキーワード

  1. forwardable def_delegator
  2. forwardable def_delegators
  3. erb def_class
  4. erb def_method
  5. erb def_module

ライブラリ

モジュール

キーワード

検索結果

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

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

...能です。

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_delegator(accessor, method, ali = method) -> () (3019.0)

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

...能です。

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...

SingleForwardable (18.0)

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

...す。

=== 使い方

オブジェクトに対して extend して使います。

例:

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

また、SingleForwardable はクラスやモジュールに対して以下のようにする事...
...forwardable'
class Implementation
def self.service
puts "serviced!"
end
end

module Facade
extend SingleForwardable
def_delegator
:Implementation, :service
end

Facade.service # => serviced!

もし Forwardable と SingleForwardable の両方を使いたい場合、...

Forwardable (12.0)

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

...いところに注意して下さい。

例:

require 'forwardable'
class Foo
extend Forwardable

def_delegator
s("@out", "printf", "print")
def_delegator
s(:@in, :gets)
def_delegator
(:@contents, :[], "content_at")
end
f = Foo.new
f.printf ...
f.gets
f.content_at(1)...