るりまサーチ

最速Rubyリファレンスマニュアル検索!
404件ヒット [101-200件を表示] (0.066秒)
トップページ > クエリ:ruby[x] > 種類:インスタンスメソッド[x] > クエリ:@[x] > クエリ:-[x] > クエリ:method[x] > クラス:Module[x]

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

検索結果

<< < 1 2 3 4 ... > >>

Module#define_method(name) { ... } -> Symbol (6265.0)

インスタンスメソッド name を定義します。

...す。

@
param name メソッド名を String または Symbol を指定します。

@
param method Proc、Method あるいは UnboundMethod
いずれかのインスタンスを指定します。

@
return メソッド名を表す Symbol を返します。

@
raise TypeError method に同...
...じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。

//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end
Foo.new.bar # => :foo
//}...

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

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

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

@
param name 0 個以上の String か Symbol を指定します。

@
raise NameError 指定したインスタンスメソッドが定義されていない場合に発生します。

=== 「未定義にする...
...

//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 の場合はスーパークラスに同名のメソッドがあっても
# その呼び出しはエラーになる
class B
undef_method :ok
end
B.new.ok...
...# => NameError

# remove_method の場合はスーパークラスに同名のメソッドがあると
# それが呼ばれる
class B
remove_method :ok
end
B.new.ok # => A
//}

また、undef 文と undef_method の違いは、
メソッド名を String または Symbol で与えられるこ...

Module#method_removed(name) -> () (6261.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#alias_method(new, original) -> Symbol (6257.0)

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

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

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

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

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

@
param new 新しいメソッド名。String または Symbol で指定します。

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

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

@
see d:spec/def#al...
...ias

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

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

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

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

..._method_added
を使います。

@
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 "bar" was added
//}...

絞り込み条件を変える

Module#remove_method(*name) -> self (6257.0)

インスタンスメソッド name をモジュールから削除します。

...します。

Ruby
1.8.0 以降は複数のメソッド名を指定して一度に削除できます。

@
param name 0 個以上の String か Symbol を指定します。

@
raise NameError 指定したメソッドが定義されていない場合に発生します。

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

remove_method :foo
remove_method :no_such_method # 例外 NameError が発生
end
//}

@
see Module#undef_method...

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

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

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

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

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

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

@
param new 新しいメソッド名。String または Symbol で指定します。

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

@
return self を返します。

@
see d:spec/def#alias

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

Module#instance_methods(inherited_too = true) -> [Symbol] (6250.0)

そのモジュールで定義されている public および protected メソッド名 の一覧を配列で返します。

...び protected メソッド名
の一覧を配列で返します。

@
param inherited_too false を指定するとそのモジュールで定義されているメソッドのみ返します。

@
see Object#methods

//emlist[例1][ruby]{
class Foo
private; def private_foo() end
protected; def...
...stance_methods(false)
p Foo.public_instance_methods(false)
p Foo.private_instance_methods(false)
p Foo.protected_instance_methods(false)

class Bar < Foo
end
//}

実行結果

[:protected_foo, :public_foo]
[:public_foo]
[:private_foo]
[:protected_foo]

//emlist[例2][ruby]{
clas...
...stance_methods(true) - Object.instance_methods(true)
p Bar.public_instance_methods(true) - Object.public_instance_methods(true)
p Bar.private_instance_methods(true) - Object.private_instance_methods(true)
p Bar.protected_instance_methods(true) - Object.protected_instance_methods(true)...

Module#private_class_method(*name) -> self (6240.0)

name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を private に変更します。

...te に変更します。

@
param name 0 個以上の String または Symbol を指定します。
@
param names 0 個以上の String または Symbol を Array で指定します。

//emlist[例][ruby]{
module
Foo
def self.foo; end
end

Foo.singleton_class.private_method_defined?(:foo) # => fal...
...se
Foo.private_class_method(:foo) # => Foo
Foo.singleton_class.private_method_defined?(:foo) # => true
//}...

Module#private_class_method(names) -> self (6240.0)

name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を private に変更します。

...te に変更します。

@
param name 0 個以上の String または Symbol を指定します。
@
param names 0 個以上の String または Symbol を Array で指定します。

//emlist[例][ruby]{
module
Foo
def self.foo; end
end

Foo.singleton_class.private_method_defined?(:foo) # => fal...
...se
Foo.private_class_method(:foo) # => Foo
Foo.singleton_class.private_method_defined?(:foo) # => true
//}...

絞り込み条件を変える

<< < 1 2 3 4 ... > >>