ライブラリ
- ビルトイン (88)
-
irb
/ context (12) -
rdoc
/ code _ object (12) -
rdoc
/ context (36) -
rdoc
/ stats (24)
クラス
-
IRB
:: Context (12) - Module (72)
- Object (12)
-
RDoc
:: CodeObject (12) -
RDoc
:: Context (36) -
RDoc
:: Stats (24) - Refinement (4)
キーワード
- ancestors (12)
-
append
_ features (12) -
const
_ source _ location (12) -
each
_ classmodule (12) - extend (12)
-
extend
_ object (12) -
import
_ methods (4) -
included
_ modules (12) -
initialize
_ classes _ and _ modules (12) -
load
_ modules (12) -
num
_ modules (12) -
num
_ modules= (12) - prepend (12)
-
remove
_ classes _ and _ modules (12)
検索結果
先頭5件
-
Module
# included _ modules -> [Module] (33333.0) -
self にインクルードされているモジュールの配列を返します。
...self にインクルードされているモジュールの配列を返します。
//emlist[例][ruby]{
module Mixin
end
module Outer
include Mixin
end
Mixin.included_modules #=> []
Outer.included_modules #=> [Mixin]
//}
@see Module#ancestors... -
RDoc
:: Context # modules -> [RDoc :: NormalModule] (24302.0) -
追加された RDoc::NormalModule の配列を返します。
...追加された RDoc::NormalModule の配列を返します。... -
Module
# prepend(*modules) -> self (21262.0) -
指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。
...追加されるため、結果として self で定義されたメソッドは
override されます。
modules で指定したモジュールは後ろから順に処理されるため、
modules の先頭が最も優先されます。
また、継承によってこの「上書き」を処理す......のモジュール/クラスのメソッドを呼び出すことができます。
実際の処理は modules の各要素の prepend_features を後ろから順に呼びだすだけです。
Module#prepend_features が継承チェインの改変を実行し、結果として上のような
処理......とで
prepend の処理を追加/変更できます。
@param modules prepend する Module を指定します
@see Module#prepend_features, Module#prepended
//emlist[例][ruby]{
# super と prepend の組み合わせの例
module X
def foo
puts "X1" # (1x)
super # (2x)
puts "X2" #... -
Module
# ancestors -> [Class , Module] (21126.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 (21126.0) -
モジュール(あるいはクラス)に self の機能を追加します。
...ラス)に self の機能を追加します。
このメソッドは Module#include の実体であり、
include を Ruby で書くと以下のように定義できます。
//emlist[例][ruby]{
def include(*modules)
modules.reverse_each do |mod|
# append_features や included はプライ......ベートメソッドなので
# 直接 mod.append_features(self) などとは書けない
mod.__send__(:append_features, self)
mod.__send__(:included, self)
end
end
//}
@see Module#included... -
Module
# extend _ object(obj) -> object (21019.0) -
Object#extend の実体です。オブジェクトにモジュールの機能を追加します。
...機能を追加します。
Object#extend は、Ruby で書くと以下のように定義できます。
//emlist[例][ruby]{
def extend(*modules)
modules.reverse_each do |mod|
# extend_object や extended はプライベートメソッドなので
# 直接 mod.extend_object(self) など......では、self に定義されて
いるインスタンスメソッドを obj の特異メソッドとして追加します。
@param obj self の機能を追加するオブジェクトを指定します。
@return obj で指定されたオブジェクトを返します。
@see Module#extended... -
Module
# const _ source _ location(name , inherited = true) -> [String , Integer] (21013.0) -
name で指定した定数の定義を含むソースコードのファイル名と行番号を配列で返します。
...が見つからなかった場合は空の配列を返します。
//emlist[例][ruby]{
# test.rb:
class A # line 1
C1 = 1
C2 = 2
end
module M # line 6
C3 = 3
end
class B < A # line 10
include M
C4 = 4
end
class A # 継続して A を定義する
C2 = 8 # 定数を......-- Object を継承している為
p M.const_source_location('A') # => ["test.rb", 1] -- Object は継承していないが追加で modules をチェックする
p Object.const_source_location('A::C1') # => ["test.rb", 2] -- ネストの指定もサポートしている
p Object.c... -
IRB
:: Context # load _ modules -> [String] (12218.0) -
irb の起動時に -r オプション指定で読み込まれたライブラリ、~/.irbrc など の設定ファイル内で IRB.conf[:LOAD_MODULES] 指定で読み込まれたライブラリ の名前の配列を返します。
...irb の起動時に -r オプション指定で読み込まれたライブラリ、~/.irbrc など
の設定ファイル内で IRB.conf[:LOAD_MODULES] 指定で読み込まれたライブラリ
の名前の配列を返します。... -
RDoc
:: CodeObject # remove _ classes _ and _ modules -> () (12202.0) -
何もしません。RDoc::CodeObject#document_children= に false を指定 した時のコールバックとして呼び出されます。オーバーライドして使用します。
何もしません。RDoc::CodeObject#document_children= に false を指定
した時のコールバックとして呼び出されます。オーバーライドして使用します。