るりまサーチ

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

別のキーワード

  1. _builtin puts
  2. csv puts
  3. stringio puts
  4. io puts
  5. xmp puts

キーワード

検索結果

Module#prepend(*modules) -> self (40.0)

指定したモジュールを self の継承チェインの先頭に「追加する」ことで self の定数、メソッド、モジュール変数を「上書き」します。

...追加されるため、結果として self で定義されたメソッドは
override されます。

module
s で指定したモジュールは後ろから順に処理されるため、
module
s の先頭が最も優先されます。

また、継承によってこの「上書き」を処理す...
...のモジュール/クラスのメソッドを呼び出すことができます。

実際の処理は modules の各要素の prepend_features を後ろから順に呼びだすだけです。
Module
#prepend_features が継承チェインの改変を実行し、結果として上のような
処理...
...aram modules prepend する Module を指定します
@see Module#prepend_features, Module#prepended

//emlist[例][ruby]{
# super と prepend の組み合わせの例
module
X
def foo
puts
"X1" # (1x)
super # (2x)
puts
"X2" # (3x)
end
end

class A
prepend X

def foo
puts
"A"...

Module#alias_method(new, original) -> Symbol (22.0)

メソッドの別名を定義します。

...メソッドの別名を定義します。

//emlist[例][ruby]{
module
Kernel
alias_method :hoge, :puts # => :hoge
alias_method "foo", :puts # => :foo
end
//}

alias との違いは以下の通りです。

* メソッド名は String または Symbol で指定します
* グローバル...
...ます。

@param original 元のメソッド名。String または Symbol で指定します。

@return 作成したエイリアスのメソッド名を表す Symbol を返します。

@see d:spec/def#alias

//emlist[例][ruby]{
module
Kernel
alias_method :foo, :puts
end

foo "bar" # bar
//}...

Module#alias_method(new, original) -> self (16.0)

メソッドの別名を定義します。

...メソッドの別名を定義します。

//emlist[例][ruby]{
module
Kernel
alias_method :hoge, :puts # => Kernel
end
//}

alias との違いは以下の通りです。

* メソッド名は String または Symbol で指定します
* グローバル変数の別名をつけることはで...
...いメソッド名。String または Symbol で指定します。

@param original 元のメソッド名。String または Symbol で指定します。

@return self を返します。

@see d:spec/def#alias

//emlist[例][ruby]{
module
Kernel
alias_method :foo, :puts
end

foo "bar" # bar
//}...

Module#refine(klass) { ... } -> Module (16.0)

引数 klass で指定したクラスまたはモジュールだけに対して、ブロックで指定した機能を提供で きるモジュールを定義します。定義した機能は Module#refine を使用せずに直 接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。 そのため、既存の機能を局所的に修正したい場合などに用いる事ができます。

...したクラスだけに対して、ブロックで指定した機能を提供で
きるモジュールを定義します。定義した機能は Module#refine を使用せずに直
接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。
そのた...
...main.using, Module#using を実行した場合のみ
有効になります。

@param klass 拡張する対象のクラスを指定します。

@return ブロックで指定した機能を持つ無名のモジュールを返します。


//emlist[例][ruby]{
class C
def foo
puts
"C#foo"
e...
...nd
end

module M
refine C do
def foo
puts
"C#foo in M"
end
end
end

x = C.new
x.foo # => "C#foo"

using M

x = C.new
x.foo # => "C#foo in M"
//}

@see main.using...
...モジュールだけに対して、ブロックで指定した機能を提供で
きるモジュールを定義します。定義した機能は Module#refine を使用せずに直
接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。
そのた...
... Module#using を実行した場合のみ
有効になります。

@param klass 拡張する対象のクラスまたはモジュールを指定します。

@return ブロックで指定した機能を持つ無名のモジュールを返します。


//emlist[例][ruby]{
class C
def foo
puts
...
..."C#foo"
end
end

module
M
refine C do
def foo
puts
"C#foo in M"
end
end
end

x = C.new
x.foo # => "C#foo"

using M

x = C.new
x.foo # => "C#foo in M"
//}

@see main.using...

Module#undef_method(*name) -> self (16.0)

このモジュールのインスタンスメソッド name を未定義にします。

...除」とは区別されます。
以下のコード例を参照してください。

//emlist[例][ruby]{
class A
def ok
puts
'A'
end
end
class B < A
def ok
puts
'B'
end
end

B.new.ok # => B

# undef_method の場合はスーパークラスに同名のメソッドがあっても...
...ng または Symbol で与えられることです。

//emlist[例][ruby]{
module
M1
def foo
end
def self.moo
undef foo
end
end
M1.instance_methods false #=> ["foo"]
M1.moo
M1.instance_methods false #=> []
module
M2
def foo
end
def self.moo
undef_method :foo
end
end
M2.insta...

絞り込み条件を変える

Module#const_added(name) -> () (10.0)

定数 name が追加された時にインタプリタがこのメソッドを呼び出します。

...定数 name が追加された時にインタプリタがこのメソッドを呼び出します。

//emlist[][ruby]{
module
Chatty
def self.const_added(const_name)
super
puts
"Added #{const_name.inspect}"
end
FOO = 1
end
# => Added :FOO
//}...

Module#method_added(name) -> () (10.0)

メソッド name が追加された時にインタプリタがこのメソッドを呼び出します。

...

@param name 追加されたメソッドの名前が Symbol で渡されます。

//emlist[例][ruby]{
class Foo
def Foo.method_added(name)
puts
"method \"#{name}\" was added"
end

def foo
end
define_method :bar, instance_method(:foo)
end

# => method "foo" was added
# method "...

Module#method_removed(name) -> () (10.0)

メソッドが Module#remove_method により削除 された時にインタプリタがこのメソッドを呼び出します。

...メソッドが Module#remove_method により削除
された時にインタプリタがこのメソッドを呼び出します。

特異メソッドの削除に対するフックには
BasicObject#singleton_method_removed
を使います。

@param name 削除されたメソッド名が Symbol...
...で渡されます。

//emlist[例][ruby]{
class Foo
def Foo.method_removed(name)
puts
"method \"#{name}\" was removed"
end

def foo
end
remove_method :foo
end

# => method "foo" was removed
//}...

Module#method_undefined(name) -> () (10.0)

このモジュールのインスタンスメソッド name が Module#undef_method によって削除されるか、 undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。

...このモジュールのインスタンスメソッド name が
Module
#undef_method によって削除されるか、
undef 文により未定義にされると、インタプリタがこのメソッドを呼び出します。

特異メソッドの削除をフックするには
BasicObject#singlet...
...aram name 削除/未定義にされたメソッド名が Symbol で渡されます。

//emlist[例][ruby]{
class C
def C.method_undefined(name)
puts
"method C\##{name} was undefined"
end

def foo
end
def bar
end

undef_method :foo
undef bar
end
//}

実行結果:

method C#foo...

Module#prepended(class_or_module) -> () (10.0)

self が Module#prepend されたときに対象のクラスまたはモジュールを 引数にしてインタプリタがこのメソッドを呼び出します。

... Module#prepend されたときに対象のクラスまたはモジュールを
引数にしてインタプリタがこのメソッドを呼び出します。

@param class_or_module Module#prepend を実行したオブジェクト

//emlist[例][ruby]{
module
A
def self.prepended(mod)
puts
"#...
...{self} prepended to #{mod}"
end
end
module
Enumerable
prepend A
end
# => "A prepended to Enumerable"
//}

@see Module#included, Module#prepend, Module#prepend_features...

絞り込み条件を変える