72件ヒット
[1-72件を表示]
(0.258秒)
種類
- インスタンスメソッド (36)
- 関数 (24)
- 文書 (12)
ライブラリ
- ビルトイン (36)
クラス
- Module (36)
キーワード
- included (12)
-
rb
_ include _ module (12) -
rb
_ mod _ append _ features (12) -
ruby 1
. 6 feature (12)
検索結果
先頭5件
-
Module
# include(*mod) -> self (18173.0) -
モジュール mod をインクルードします。
...てしまうような include を行った場合に発生します。
//emlist[例][ruby]{
module M
end
module M2
include M
end
module M
include M2
end
//}
実行結果:
-:3:in `append_features': cyclic include detected (ArgumentError)
from -:3:in `include'
from -:3......。
インクルードは多重継承の代わりに用いられており、 mix-in とも呼びます。
//emlist[例][ruby]{
class C
include FileTest
include Math
end
p C.ancestors
# => [C, Math, FileTest, Object, Kernel]
//}
モジュールの機能追加は、クラスの継承関係の......ッド探索の順序です)。
同じモジュールを二回以上 include すると二回目以降は無視されます。
//emlist[例][ruby]{
module M
end
class C1
include M
end
class C2 < C1
include M # この include は無視される
end
p C2.ancestors # => [C2, C1, M, Object, Ker... -
Module
# append _ features(module _ or _ class) -> self (18137.0) -
モジュール(あるいはクラス)に 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... -
static VALUE rb
_ mod _ append _ features(VALUE module , VALUE include) (6200.0) -
-
Module
# included(class _ or _ module) -> () (6146.0) -
self が Module#include されたときに対象のクラスまたはモジュー ルを引数にしてインタプリタがこのメソッドを呼び出します。
...f が Module#include されたときに対象のクラスまたはモジュー
ルを引数にしてインタプリタがこのメソッドを呼び出します。
@param class_or_module Module#include を実行したオブジェクト
//emlist[例][ruby]{
module Foo
def self.included(mod)
p......"#{mod} include #{self}"
end
end
class Bar
include Foo
end
# => "Bar include Foo"
//}
@see Module#append_features... -
void rb
_ include _ module(VALUE klass , VALUE module) (6116.0) -
Module#append_features の実体。 クラスまたはモジュール klass にモジュール module を インクルードします。
...Module#append_features の実体。
クラスまたはモジュール klass にモジュール module を
インクルードします。... -
ruby 1
. 6 feature (60.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...include>))
モジュールが再帰的に include されないようになりました。
module Foo; end
module Bar; include Foo; end
module Foo; include Bar; end
p Foo.ancestors
=> ruby 1.6.6 (2001-12-26) [i586-linux]
[Foo, Bar, Foo]
=> -:3:in `append_features......': cyclic include detected (ArgumentError)
from -:3:in `include'
from -:3
ruby 1.6.6 (2002-01-28) [i586-linux]
: メソッドの戻り値
以下のメソッドの戻り値が正しくなりました。
((<ruby-bugs-ja:PR#182>)), ((<rubyist:1016>))
* Hash#defau......ind することができませんでした。
((<rubyist:0728>))
module Foo
def foo
:foo
end
end
class Bar
include Foo
end
m = Foo.instance_method :foo
p m.bind(Bar.new).call
=> ruby 1.6.4 (2001-06-04) [i586-linux]
-:12:in `bind': f...