270件ヒット
[101-200件を表示]
(0.036秒)
種類
- インスタンスメソッド (172)
- 文書 (38)
- 特異メソッド (36)
- 関数 (12)
- ライブラリ (12)
ライブラリ
- ビルトイン (112)
-
irb
/ context (12) -
rdoc
/ code _ object (12) -
rdoc
/ context (36) -
rdoc
/ stats (24) -
rdoc
/ top _ level (12)
クラス
-
IRB
:: Context (12) - Module (84)
- Object (12)
-
RDoc
:: CodeObject (12) -
RDoc
:: Context (36) -
RDoc
:: Stats (24) -
RDoc
:: TopLevel (12) - Refinement (4)
オブジェクト
- main (12)
キーワード
-
NEWS for Ruby 2
. 4 . 0 (9) -
NEWS for Ruby 3
. 0 . 0 (5) -
all
_ classes _ and _ modules (12) - ancestors (12)
-
append
_ features (12) -
const
_ source _ location (12) -
each
_ classmodule (12) - extend (12)
-
extend
_ object (12) -
import
_ methods (4) - include (12)
-
included
_ modules (12) -
initialize
_ classes _ and _ modules (12) -
load
_ modules (12) -
num
_ modules (12) -
num
_ modules= (12) - prepend (12)
-
rb
_ mod _ included _ modules (12) -
remove
_ classes _ and _ modules (12) - rss (12)
-
ruby 1
. 8 . 3 feature (12) -
ruby 1
. 9 feature (12) -
used
_ modules (12)
検索結果
先頭5件
-
RDoc
:: Stats # num _ modules=(val) (12201.0) -
解析したモジュールの数を指定します。
解析したモジュールの数を指定します。
@param val 数値を指定します。 -
VALUE rb
_ mod _ included _ modules(VALUE mod) (12200.0) -
モジュール mod にインクルードされているモジュールの配列を返します。
モジュール mod にインクルードされているモジュールの配列を返します。 -
Module
# prepend(*modules) -> self (9261.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] (9125.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 (9125.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 (9018.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] (9012.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... -
RDoc
:: Context # each _ classmodule {|m| . . . } -> [RDoc :: SingleClass | RDoc :: NormalClass | RDoc :: NormalModule] (6206.0) -
追加されたクラス、モジュールに対してブロックを評価します。
...追加されたクラス、モジュールに対してブロックを評価します。
@see RDoc::Context#classes, RDoc::Context#modules... -
Object
# extend(*modules) -> self (261.0) -
引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。
...引数で指定したモジュールのインスタンスメソッドを self の特異
メソッドとして追加します。
Module#include は、クラス(のインスタンス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を......の引数から逆順に extend を行います。
@param modules モジュールを任意個指定します(クラスは不可)。
@return self を返します。
//emlist[][ruby]{
module Foo
def a
'ok Foo'
end
end
module Bar
def b
'ok Bar'
end
end
obj = Object.new
obj.exte......#=> "ok Bar"
//}
extend の機能は、「特異クラスに対する Module#include」
と言い替えることもできます。
ただしその場合、フック用のメソッド
が Module#extended ではなく Module#included になるという違いがあります。
//emlist[][ruby]{
#...