るりまサーチ

最速Rubyリファレンスマニュアル検索!
112件ヒット [1-100件を表示] (0.024秒)
トップページ > クエリ:modules[x] > ライブラリ:ビルトイン[x]

別のキーワード

  1. context modules
  2. stats num_modules
  3. stats num_modules=
  4. context load_modules
  5. rdoc/context modules

クラス

オブジェクト

検索結果

<< 1 2 > >>

Module#included_modules -> [Module] (6115.0)

self にインクルードされているモジュールの配列を返します。

...self にインクルードされているモジュールの配列を返します。

//emlist[例][ruby]{
module Mixin
end

module Outer
include Mixin
end

Mixin.included_modules #=> []
Outer.included_modules #=> [Mixin]
//}

@see Module#ancestors...

Module.used_modules -> [Module] (6109.0)

現在のスコープで using されているすべてのモジュールを配列で返します。 配列内のモジュールの順番は未定義です。

...ープで using されているすべてのモジュールを配列で返します。
配列内のモジュールの順番は未定義です。

//emlist[例][ruby]{
module A
refine Object do
end
end

module B
refine Object do
end
end

using A
using B
p Module.used_modules
#=> [B, A]
//}...

Module#prepend(*modules) -> self (127.0)

指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。

...追加されるため、結果として self で定義されたメソッドは
override されます。

modules
で指定したモジュールは後ろから順に処理されるため、
modules
の先頭が最も優先されます。

また、継承によってこの「上書き」を処理す...
...メソッドでsuperを呼ぶことで
self のモジュール/クラスのメソッドを呼び出すことができます。

実際の処理は modules の各要素の prepend_features を後ろから順に呼びだすだけです。
Module#prepend_features が継承チェインの改変を実行...
...理が実現されます。そのため、prepend_features を override することで
prepend の処理を追加/変更できます。


@param modules prepend する Module を指定します
@see Module#prepend_features, Module#prepended

//emlist[例][ruby]{
# super と prepend の組み合わ...

main.include(*modules) -> self (125.0)

引数 modules で指定したモジュールを後ろから順番に Object にインクルードします。

...引数 modules で指定したモジュールを後ろから順番に Object にインクルードします。

@param modules Module のインスタンス( Enumerable など)を指定します。

@raise ArgumentError 継承関係が循環してしまうような include を行った場...

Object#extend(*modules) -> self (109.0)

引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。

...に使用します。

引数に複数のモジュールを指定した場合、最後
の引数から逆順に extend を行います。

@param modules モジュールを任意個指定します(クラスは不可)。
@return self を返します。

//emlist[][ruby]{
module Foo
def a
'o...

絞り込み条件を変える

Refinement#import_methods(*modules) -> self (103.0)

モジュールからメソッドをインポートします。

...め、Rubyコードで定義されたメソッドだけしか
インポートできないことに注意してください。

//emlist[][ruby]{
module S
trUtils
def indent(level)
' ' * level + self
end
end

module M
refine String do
import_methods StrUtils
end
end

using M
p "foo".in...

Module#ancestors -> [Class, Module] (14.0)

クラス、モジュールのスーパークラスとインクルードしているモジュール を優先順位順に配列に格納して返します。

...先順位順に配列に格納して返します。

//emlist[例][ruby]{
module Foo
end
class Bar
include Foo
end
class Baz < Bar
p ancestors
p included_modules
p superclass
end
# => [Baz, Bar, Foo, Object, Kernel, BasicObject]
# => [Foo, Kernel]
# => Bar
//}

@see Module#included_modules...

Module#append_features(module_or_class) -> self (14.0)

モジュール(あるいはクラス)に self の機能を追加します。

...Module#include の実体であり、
include を Ruby で書くと以下のように定義できます。

//emlist[例][ruby]{
def include(*modules)
modules
.reverse_each do |mod|
# append_features や included はプライベートメソッドなので
# 直接 mod.append_features(self)...

Module#extend_object(obj) -> object (14.0)

Object#extend の実体です。オブジェクトにモジュールの機能を追加します。

...機能を追加します。

Object#extend は、Ruby で書くと以下のように定義できます。

//emlist[例][ruby]{
def extend(*modules)
modules
.reverse_each do |mod|
# extend_object や extended はプライベートメソッドなので
# 直接 mod.extend_object(self) など...
<< 1 2 > >>