関連するキーワード
ライブラリ
- ビルトイン (59)
-
minitest
/ spec (2) - multi-tk (3)
キーワード
-
_ _ send _ _ (6) -
enum
_ for (3) -
instance
_ eval (6) - method (3)
-
method
_ missing (6) - methods (3)
-
must
_ respond _ to (2) -
private
_ methods (3) -
protected
_ methods (3) -
public
_ methods (3) -
respond
_ to? (3) -
respond
_ to _ missing? (2) - send (6)
-
singleton
_ method _ added (3) -
singleton
_ method _ removed (3) -
singleton
_ method _ undefined (3) -
singleton
_ methods (3) -
to
_ enum (3)
検索結果
先頭5件
-
Object
# method(name) -> Method (6243) -
オブジェクトのメソッド name をオブジェクト化した Method オブジェクトを返します。
...クト化した
Method オブジェクトを返します。
@param name メソッド名をSymbol またはStringで指定します。
@raise NameError 定義されていないメソッド名を引数として与えると発生します。
me = -365.method(:abs)
p me #=> #<Method: Fixnum#abs>......p me.call #=> 365
@see Module#instance_method,Method,Object#__send__,Kernel.#eval... -
Object
# singleton _ method _ undefined(name) -> object (6172) -
特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。
...特異メソッドが Module#undef_method または
undef により未定義にされた時にインタプリタから呼び出されます。
通常のメソッドの未定義に対するフックには
Module#method_undefined を使います。
@param name 未定義にされたメソッド名......ef singleton_method_undefined(name)
puts "singleton method \"#{name}\" was undefined"
end
end
obj = Foo.new
def obj.foo
end
def obj.bar
end
class << obj
undef_method :foo
end
obj.instance_eval {undef bar}
#=> singleton method "foo" was u......ndefined
# singleton method "bar" was undefined
@see Module#method_undefined,Object#singleton_method_added,Object#singleton_method_removed , d:spec/def#undef... -
Object
# singleton _ method _ removed(name) -> object (6166) -
特異メソッドが Module#remove_method に より削除された時にインタプリタから呼び出されます。
...特異メソッドが Module#remove_method に
より削除された時にインタプリタから呼び出されます。
通常のメソッドの削除に対するフックには
Module#method_removedを使います。
@param name 削除されたメソッド名が Symbol で渡されます。......puts "singleton method \"#{name}\" was removed"
end
end
obj = Foo.new
def obj.foo
end
class << obj
remove_method :foo
end
#=> singleton method "foo" was removed
@see Module#method_removed,Object#singleton_method_added,Object#singleton_method_undefined... -
Object
# singleton _ method _ added(name) -> object (6144) -
特異メソッドが追加された時にインタプリタから呼び出されます。
...ソッドの追加に対するフックには
Module#method_addedを使います。
@param name 追加されたメソッド名が Symbol で渡されます。
class Foo
def singleton_method_added(name)
puts "singleton method \"#{name}\" was added"
end
end
obj = Foo.......new
def obj.foo
end
#=> singleton method "foo" was added
@see Module#method_added,Object#singleton_method_removed,Object#singleton_method_undefined... -
Object
# method _ missing(name , *args) -> object (6114) -
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。
...れた引数です。
@return ユーザー定義の method_missing メソッドの返り値が未定義メソッドの返り値で
あるかのように見えます。
class Foo
def initialize(data)
@data = data
end
def method_missing(name, lang)
if name.to_s =~ /\Afind_... -
Object
# method _ missing(id , *args) (6102) -
@todo
@todo -
Object
# methods(include _ inherited = true) -> [String] (6101) -
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。
...ソッドの名前を返します。
ただし特別に、引数が偽の時は Object#singleton_methods(false) と同じになっています。
@param include_inherited 引数が偽の時は Object#singleton_methods(false) と同じになります。
#例1:
class Parent
private; d......nd
end
# あるオブジェクトの応答できるメソッドの一覧を得る。
p obj.methods(false)
p obj.public_methods(false)
p obj.private_methods(false)
p obj.protected_methods(false)
#実行結果
["public_singleton", "protected_singleton"]
["public_foo", "publi......いるが、Object のインスタンスメソッドは一覧から排除している。
p obj.methods(true) - Object.instance_methods(true)
p obj.public_methods(true) - Object.public_instance_methods(true)
p obj.private_methods(true) - Object.private_instance_methods(true)
p... -
Object
# methods(include _ inherited = true) -> [Symbol] (6101) -
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。
...ソッドの名前を返します。
ただし特別に、引数が偽の時は Object#singleton_methods(false) と同じになっています。
@param include_inherited 引数が偽の時は Object#singleton_methods(false) と同じになります。
#例1:
class Parent
private; d......nd
end
# あるオブジェクトの応答できるメソッドの一覧を得る。
p obj.methods(false)
p obj.public_methods(false)
p obj.private_methods(false)
p obj.protected_methods(false)
#実行結果
[:protected_singleton, :public_singleton]
[:public_singleton, :pu......いるが、Object のインスタンスメソッドは一覧から排除している。
p obj.methods(true) - Object.instance_methods(true)
p obj.public_methods(true) - Object.public_instance_methods(true)
p obj.private_methods(true) - Object.private_instance_methods(true)
p... -
Object
# private _ methods(include _ inherited = true) -> [String] (6101) -
そのオブジェクトが理解できる private メソッド名の一覧を返します。
...が理解できる private メソッド名の一覧を返します。
@param include_inherited 偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。
@see Module#private_instance_methods,Object#methods,Object#singleton_methods... -
Object
# private _ methods(include _ inherited = true) -> [Symbol] (6101) -
そのオブジェクトが理解できる private メソッド名の一覧を返します。
...が理解できる private メソッド名の一覧を返します。
@param include_inherited 偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。
@see Module#private_instance_methods,Object#methods,Object#singleton_methods... -
Object
# protected _ methods(include _ inherited = true) -> [String] (6101) -
そのオブジェクトが理解できる protected メソッド名の一覧を返します。
...理解できる protected メソッド名の一覧を返します。
@param include_inherited 偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。
@see Module#protected_instance_methods,Object#methods,Object#singleton_methods... -
Object
# protected _ methods(include _ inherited = true) -> [Symbol] (6101) -
そのオブジェクトが理解できる protected メソッド名の一覧を返します。
...理解できる protected メソッド名の一覧を返します。
@param include_inherited 偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。
@see Module#protected_instance_methods,Object#methods,Object#singleton_methods... -
Object
# public _ methods(include _ inherited = true) -> [String] (6101) -
そのオブジェクトが理解できる public メソッド名の一覧を返します。
...トが理解できる public メソッド名の一覧を返します。
@param include_inherited 偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。
@see Module#public_instance_methods,Object#methods,Object#singleton_methods... -
Object
# public _ methods(include _ inherited = true) -> [Symbol] (6101) -
そのオブジェクトが理解できる public メソッド名の一覧を返します。
...トが理解できる public メソッド名の一覧を返します。
@param include_inherited 偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。
@see Module#public_instance_methods,Object#methods,Object#singleton_methods... -
Object
# singleton _ methods(inherited _ too = true) -> [String] (6101) -
そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。
...ッド)に関しては
引数が真のとき、スーパークラスのクラスメソッドも対象になります。
singleton_methods(false) は、Object#methods(false) と同じです。
@param inherited_too 引数が真のとき、スーパークラスのクラスメソッドも対象にな......public_self() end
end
# あるオブジェクトの特異メソッドの一覧を得る。
p obj.singleton_methods(false)
p obj.methods(false)
p Foo.singleton_methods(false)
#実行結果
["public_self", "protected_self"]
["public_self", "protected_self"]
["public_class......ラスメソッドも含まれるよう true を指定したが、
# Object のクラスメソッドは一覧から排除している。
p obj.singleton_methods(true)
p Foo.singleton_methods(true) - Object.singleton_methods(true)
#実行結果
["public_bar", "public_self", "protec... -
Object
# singleton _ methods(inherited _ too = true) -> [Symbol] (6101) -
そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。
...ッド)に関しては
引数が真のとき、スーパークラスのクラスメソッドも対象になります。
singleton_methods(false) は、Object#methods(false) と同じです。
@param inherited_too 引数が真のとき、スーパークラスのクラスメソッドも対象にな......public_self() end
end
# あるオブジェクトの特異メソッドの一覧を得る。
p obj.singleton_methods(false)
p obj.methods(false)
p Foo.singleton_methods(false)
#実行結果
[:protected_self, :public_self]
[:protected_self, :public_self]
[:protected_class_......ラスメソッドも含まれるよう true を指定したが、
# Object のクラスメソッドは一覧から排除している。
p obj.singleton_methods(true)
p Foo.singleton_methods(true) - Object.singleton_methods(true)
#実行結果
[:protected_self, :public_self, :prot... -
Object
# enum _ for(method = :each , *args) -> Enumerable :: Enumerator (125) -
Enumerable::Enumerator.new(self, method, *args) を返します。
...Enumerable::Enumerator.new(self, method, *args) を返します。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
@raise NameError 存在しないメソッド名を指定すると発生します。
str = "xyz"... -
Object
# enum _ for(method = :each , *args) -> Enumerator (125) -
Enumerator.new(self, method, *args) を返します。
...Enumerator.new(self, method, *args) を返します。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
@raise NameError 存在しないメソッド名を指定すると発生します。
str = "xyz"
enum = s... -
Object
# to _ enum(method = :each , *args) -> Enumerable :: Enumerator (125) -
Enumerable::Enumerator.new(self, method, *args) を返します。
...Enumerable::Enumerator.new(self, method, *args) を返します。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
@raise NameError 存在しないメソッド名を指定すると発生します。
str = "xyz"... -
Object
# to _ enum(method = :each , *args) -> Enumerator (125) -
Enumerator.new(self, method, *args) を返します。
...Enumerator.new(self, method, *args) を返します。
@param method メソッド名の文字列かシンボルです。
@param args 呼び出すメソッドに渡される引数です。
@raise NameError 存在しないメソッド名を指定すると発生します。
str = "xyz"
enum = s... -
Object
# must _ respond _ to(method _ name) -> true (108) -
自身が与えられたメソッドを持つ場合、検査にパスしたことになります。
...自身が与えられたメソッドを持つ場合、検査にパスしたことになります。
@param method_name メソッド名を指定します。
@raise MiniTest::Assertion 自身が与えられたメソッドを持たない場合に発生します。
@see MiniTest::Assertions#assert_re... -
Object
# respond _ to _ missing?(symbol , include _ private) -> bool (29) -
自身が symbol で表されるメソッドに対し Object#method_missing で 反応するつもりならば真を返します。
...表されるメソッドに対し Object#method_missing で
反応するつもりならば真を返します。
Object#respond_to? はメソッドが定義されていない場合、
デフォルトでこのメソッドを呼びだし問合せます。
Object#method_missing を override した場......合に
このメソッドも override されるべきです。
false を返します。
@param symbol メソッド名シンボル
@param include_private private method も含めたい場合に true が渡されます
@see Object#respond_to?... -
Object
# _ _ send _ _ (name , *args) -> object (13) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...とに注意
methods = {1 => :foo,
2 => :bar,
3 => :baz}
# キーを使って関連するメソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # =......> "bar"
p Foo.new.send(methods[3]) # => "baz"
@see Object#method, Kernel.#eval, Proc, Method... -
Object
# _ _ send _ _ (name , *args) { . . . . } -> object (13) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...とに注意
methods = {1 => :foo,
2 => :bar,
3 => :baz}
# キーを使って関連するメソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # =......> "bar"
p Foo.new.send(methods[3]) # => "baz"
@see Object#method, Kernel.#eval, Proc, Method... -
Object
# send(name , *args) -> object (13) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...とに注意
methods = {1 => :foo,
2 => :bar,
3 => :baz}
# キーを使って関連するメソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # =......> "bar"
p Foo.new.send(methods[3]) # => "baz"
@see Object#method, Kernel.#eval, Proc, Method... -
Object
# send(name , *args) { . . . . } -> object (13) -
オブジェクトのメソッド name を args を引数に して呼び出し、メソッドの実行結果を返します。
...とに注意
methods = {1 => :foo,
2 => :bar,
3 => :baz}
# キーを使って関連するメソッドを呼び出す
# レシーバは任意(Foo クラスのインスタンスである必要もない)
p Foo.new.send(methods[1]) # => "foo"
p Foo.new.send(methods[2]) # =......> "bar"
p Foo.new.send(methods[3]) # => "baz"
@see Object#method, Kernel.#eval, Proc, Method... -
Object
# instance _ eval {|obj| . . . } -> object (7) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...きに
初めて instance_eval 内のメソッドが定義されます。これはメソッド定義のネストと同じです。
d:spec/def#nest_method を参照してください。
@param expr 評価する文字列です。
@param filename 文字列を指定します。ファイル filename... -
Object
# instance _ eval(expr , filename = "(eval)" , lineno = 1) -> object (7) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
...きに
初めて instance_eval 内のメソッドが定義されます。これはメソッド定義のネストと同じです。
d:spec/def#nest_method を参照してください。
@param expr 評価する文字列です。
@param filename 文字列を指定します。ファイル filename... -
Object
# respond _ to?(name , include _ private = false) -> bool (7) -
オブジェクトが public メソッド name を持つとき真を返します。 include_private が真のときは private メソッドに対しても真を返します。
...lass D
private
def hello
"Guten Tag"
end
end
list = [F.new,D.new]
list.each{|it| puts it.hello if it.respond_to?(:hello)}
#=> Bonjour
list.each{|it| it.instance_eval("puts hello if it.respond_to?(:hello, true)")}
#=> Bonjour
# Guten Tag
@see Module#method_defined?...
