るりまサーチ

最速Rubyリファレンスマニュアル検索!
72件ヒット [1-72件を表示] (0.258秒)

別のキーワード

  1. _builtin new
  2. _builtin inspect
  3. _builtin []
  4. _builtin to_s
  5. _builtin each

ライブラリ

クラス

検索結果

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...