383件ヒット
[1-100件を表示]
(0.031秒)
ライブラリ
- ビルトイン (99)
- e2mmap (6)
-
fiddle
/ import (11) - forwardable (11)
-
irb
/ cmd / subirb (11) -
irb
/ ext / save-history (11) -
irb
/ extend-command (66) - monitor (11)
-
mutex
_ m (33) - open-uri (30)
- optparse (11)
- profiler (6)
- socket (11)
クラス
- IO (22)
-
IRB
:: ExtendCommand :: Kill (11) - Module (22)
- Object (44)
- Socket (11)
モジュール
- Exception2MessageMapper (6)
-
IRB
:: ContextExtender (22) -
IRB
:: ExtendCommandBundle (44) -
IRB
:: HistorySavingAbility (11) - Kernel (16)
-
Mutex
_ m (22) - URI (14)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - Arguable (11)
- Class (11)
- Forwardable (11)
- Importer (11)
- MonitorMixin (11)
-
Mutex
_ m (11) -
Profiler
_ _ (6) -
connect
_ nonblock (11) -
def
_ extend _ command (22) - execute (11)
-
extend
_ object (39) - extended (22)
-
install
_ extend _ commands (22) -
irb
/ completion (11) -
irb
_ exit (11) -
is
_ a? (11) -
kind
_ of? (11) -
mu
_ extended (11) - open (30)
-
rb
_ extend _ object (11) -
rb
_ mod _ extend _ object (11) -
read
_ nonblock (11) -
ruby 1
. 6 feature (11) -
singleton
_ methods (11) -
write
_ nonblock (11) - クラス/メソッドの定義 (11)
検索結果
先頭5件
-
Object
# extend(*modules) -> self (39155.0) -
引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。
...ス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加
したいときに使用します。
引数に複数のモジュールを指定した場合、最後
の引数から逆順に extend を行います。
@param modules モ......end
end
module Bar
def b
'ok Bar'
end
end
obj = Object.new
obj.extend Foo, Bar
p obj.a #=> "ok Foo"
p obj.b #=> "ok Bar"
class Klass
include Foo
extend Bar
end
p Klass.new.a #=> "ok Foo"
p Klass.b #=> "ok Bar"
//}
extend の機能は、「特異クラスに対する Module#incl......ただしその場合、フック用のメソッド
が Module#extended ではなく Module#included になるという違いがあります。
//emlist[][ruby]{
# obj.extend Foo, Bar とほぼ同じ
class << obj
include Foo, Bar
end
//}
@see Module#extend_object,Module#include,Module#extended... -
Object
# singleton _ methods(inherited _ too = true) -> [Symbol] (21048.0) -
そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。
...た特異メソッドとは Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタンスの特異メソッド)などです。
singleton_methods(false) は、Object#methods(false) と同じで......ラスのクラスメソッドも含まれるよう true を指定したが、
# Object のクラスメソッドは一覧から排除している。
p obj.singleton_methods(true)
p Foo.singleton_methods(true) - Object.singleton_methods(true)
#実行結果
[:protected_self, :public_self, :protecte......d_bar, :public_bar]
[:protected_class_foo, :public_class_foo, :protected_class_parent, :public_class_parent]
//}
@see Object#methods,Object#extend... -
Object
# is _ a?(mod) -> bool (21036.0) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
...ドしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false......です。
//emlist[][ruby]{
module M
end
class C < Object
include M
end
class S < C
end
obj = S.new
p obj.is_a?(S) # true
p obj.is_a?(C) # true
p obj.is_a?(Object) # true
p obj.is_a?(M) # true
p obj.is_a?(Hash) # false
//}
@see Object#instance_of?,Module#===,Object#class... -
Object
# kind _ of?(mod) -> bool (21036.0) -
オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。
...ドしたクラスかそのサブクラス
のインスタンスである場合にも真を返します。
Module#includeだけではなく、Object#extendやModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false......です。
//emlist[][ruby]{
module M
end
class C < Object
include M
end
class S < C
end
obj = S.new
p obj.is_a?(S) # true
p obj.is_a?(C) # true
p obj.is_a?(Object) # true
p obj.is_a?(M) # true
p obj.is_a?(Hash) # false
//}
@see Object#instance_of?,Module#===,Object#class... -
IRB
:: ExtendCommandBundle . extend _ object(obj) -> IRB :: ExtendCommandBundle (15308.0) -
IRB::ExtendCommandBundle で定義済みの拡張に指定されたエイリアスを obj に定義します。
...IRB::ExtendCommandBundle で定義済みの拡張に指定されたエイリアスを
obj に定義します。
@param obj IRB::ExtendCommandBundle を extend したオブジェクト... -
Module
# extend _ object(obj) -> object (12401.0) -
Object#extend の実体です。オブジェクトにモジュールの機能を追加します。
...
Object#extend の実体です。オブジェクトにモジュールの機能を追加します。
Object#extend は、Ruby で書くと以下のように定義できます。
//emlist[例][ruby]{
def extend(*modules)
modules.reverse_each do |mod|
# extend_object や extended はプライ......ベートメソッドなので
# 直接 mod.extend_object(self) などとは書けない
mod.__send__(:extend_object, self)
mod.__send__(:extended, self)
end
end
//}
extend_object のデフォルトの実装では、self に定義されて
いるインスタンスメソッドを obj......の特異メソッドとして追加します。
@param obj self の機能を追加するオブジェクトを指定します。
@return obj で指定されたオブジェクトを返します。
@see Module#extended... -
Mutex
_ m . extend _ object(module) -> Module (12214.0) -
ユーザが直接、使うことはありません。
...ユーザが直接、使うことはありません。
@see Module#extend_object... -
Exception2MessageMapper
. extend _ object(cl) -> () (12202.0) -
@todo
@todo
@param cl -
static VALUE rb
_ mod _ extend _ object(VALUE mod , VALUE obj) (12200.0) -
-
void rb
_ extend _ object(VALUE obj , VALUE module) (12200.0) -