るりまサーチ

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

別のキーワード

  1. _builtin to_r
  2. open3 pipeline_r
  3. matrix elements_to_r
  4. fileutils rm_r
  5. bigdecimal to_r

検索結果

<< 1 2 3 > >>

forwardable (44000.0)

クラスやオブジェクトに、メソッドの委譲機能を追加するためのライブラリです。

...クラスやオブジェクトに、メソッドの委譲機能を追加するためのライブラリです。




=== 参考

* Rubyist Magazine 0012 号 標準添付ライブラリ紹介【第 6 回】委譲 (https://magazine.rubyist.net/articles/0012/0012-BundledLibraries.html)...

Forwardable::FORWARDABLE_VERSION -> String (32217.0)

forwardable ライブラリのバージョンを返します。

...
forwardable
ライブラリのバージョンを返します。...

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

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

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

@param accessor 委譲先のオブジェクト

@param method 委譲先のメソッド

@param ali 委譲元のメソッド

委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が...
...することが可能です。

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

例:

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

def_delegator :@queue, :push, :mypush
end

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

@see Forwardable#def_delegators...

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

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

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

@param accessor 委譲先のオブジェクト

@param method 委譲先のメソッド

@param ali 委譲元のメソッド

委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が...
...することが可能です。

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

例:

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

def_delegator :@queue, :push, :mypush
end

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

@see Forwardable#def_delegators...

Forwardable#def_delegators(accessor, *methods) -> () (23106.0)

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

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

@param accessor 委譲先のオブジェクト

@param methods 委譲するメソッドのリスト

委譲元のオブジェクトで methods のそれぞれのメソッドが呼び出された場合に、
委譲先のオブジェクトの...
..._delegators は def_instance_delegators の別名になります。

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

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

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

@see Forwardable#def_delegator...

絞り込み条件を変える

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

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

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

@param accessor 委譲先のオブジェクト

@param methods 委譲するメソッドのリスト

委譲元のオブジェクトで methods のそれぞれのメソッドが呼び出された場合に、
委譲先のオブジェクトの...
..._delegators は def_instance_delegators の別名になります。

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

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

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

@see Forwardable#def_delegator...

SingleForwardable (20018.0)

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

...:

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

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

r
equire 'forwardable'
class Implementation
def self.service...
...puts "serviced!"
end
end

module Facade
extend SingleForwardable
def_delegator :Implementation, :service
end

Facade.service # => serviced!

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

Forwardable (20012.0)

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

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

例:

r
equire 'forwardable'
class Foo
extend Forwardable

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

Forwardable#delegate(hash) -> () (20012.0)

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

...param hash 委譲先のメソッドがキー、委譲先のオブジェクトが値の
Hash を指定します。キーは Symbol、
String かその配列で指定します。


例:

r
equire 'forwardable'
class Zap
extend Forwardable
delegate :length => :@str...
...delegate [:first, :last] => :@arr
def initialize
@arr = %w/foo bar baz/
@str = "world"
end
end

zap = Zap.new
zap.length # => 5
zap.first # => "foo"
zap.last # => "baz"...
<< 1 2 3 > >>