るりまサーチ (Ruby 2.6.0)

最速Rubyリファレンスマニュアル検索!
4件ヒット [1-4件を表示] (0.018秒)
トップページ > バージョン:2.6.0[x] > クエリ:module[x] > クエリ:new[x] > 種類:モジュール[x]

別のキーワード

  1. module attr
  2. module constants
  3. module class_eval
  4. module module_eval

ライブラリ

キーワード

検索結果

Mutex_m (106.0)

スレッド同期機構である Thread::Mutex のモジュール版です。クラスに Module#include することでそのクラスに Mutex 機能を持たせることができます。 また、普通のオブジェクトを Object#extend により Mutex にする事ができます。

...スレッド同期機構である Thread::Mutex のモジュール版です。クラスに
Module
#include することでそのクラスに Mutex 機能を持たせることができます。
また、普通のオブジェクトを Object#extend により Mutex にする事ができます。

この...
...tex_m#locked?, Mutex_m#try_lock, Mutex_m#unlock)
はモジュールにincludeした場合には定義されません。

1991

=== 例
クラスに Module#include する例
require "mutex_m"
class Foo
include Mutex_m
...
end
obj = Foo.new
obj.synchronize do
# 危険領域(crit...

MonitorMixin (58.0)

スレッドの同期機構としてのモニター機能を提供するモジュールです。

...スレッドの同期機構としてのモニター機能を提供するモジュールです。

クラスに Module#include したり、オブジェクトに
Object#extend したりすることでそのクラス/オブジェクトに
モニタ機能を追加します。

=== 例

//emlist[消費...
...//emlist[extend する例][ruby]{
require 'monitor'
buf = []
buf.extend(MonitorMixin)
//}

しかし、MonitorMixin をクラス定義の際に Module#include を使って
利用する場合は、initialize メソッドで super() か super を呼んで、初期化する必要があります。...

Forwardable (40.0)

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

...し、メソッドの委譲機能を定義するモジュールです。

=== 使い方

クラスに対して Object#extend して使います。Module#include でないところに注意して下さい。

例:

require 'forwardable'
class Foo
extend Forwardable

def_delegators("@o...

SingleForwardable (40.0)

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

...ようにする事もできます。

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

module
Facade
extend SingleForwardable
def_delegator :Implementation, :service
end

Facade.service # => serviced!

もし Forwardable と Si...