456件ヒット
[201-300件を表示]
(0.108秒)
ライブラリ
- ビルトイン (408)
- forwardable (48)
クラス
- BasicObject (36)
- Method (12)
- Module (120)
- Object (96)
- UnboundMethod (144)
モジュール
- Forwardable (48)
キーワード
- == (12)
- arity (12)
- bind (12)
-
bind
_ call (12) - clone (12)
-
def
_ delegator (12) -
def
_ delegators (12) -
def
_ instance _ delegator (12) -
def
_ instance _ delegators (12) -
define
_ method (24) - eql? (12)
- inspect (12)
-
instance
_ eval (24) -
instance
_ method (12) -
instance
_ methods (12) -
method
_ added (12) - methods (12)
- name (12)
-
original
_ name (12) - owner (12)
- parameters (12)
-
private
_ instance _ methods (12) -
private
_ methods (12) -
protected
_ instance _ methods (12) -
protected
_ methods (12) -
public
_ instance _ method (12) -
public
_ instance _ methods (12) -
public
_ method (12) -
public
_ methods (12) -
respond
_ to? (12) -
singleton
_ method (12) -
singleton
_ method _ undefined (12) -
source
_ location (12) -
to
_ s (12) -
undef
_ method (12)
検索結果
先頭5件
-
Module
# undef _ method(*name) -> self (12262.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.......ove_method の場合はスーパークラスに同名のメソッドがあると
# それが呼ばれる
class B
remove_method :ok
end
B.new.ok # => A
//}
また、undef 文と undef_method の違いは、
メソッド名を String または Symbol で与えられることです。
//emlist[... -
Module
# method _ added(name) -> () (12250.0) -
メソッド name が追加された時にインタプリタがこのメソッドを呼び出します。
...icObject#singleton_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
# define _ method(name) { . . . } -> Symbol (12246.0) -
インスタンスメソッド name を定義します。
...スタンスの上で BasicObject#instance_eval されます。
@param name メソッド名を String または Symbol を指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Sy......します。
@raise TypeError method に同じクラス、サブクラス、モジュール以外のメソッ
ドを指定した場合に発生します。
//emlist[例][ruby]{
class Foo
def foo() p :foo end
define_method(:bar, instance_method(:foo))
end
Foo.new.bar # => :f... -
Object
# methods(include _ inherited = true) -> [Symbol] (12231.0) -
そのオブジェクトに対して呼び出せるメソッド名の一覧を返します。 このメソッドは public メソッドおよび protected メソッドの名前を返します。
...および protected メソッドの名前を返します。
ただし特別に、引数が偽の時は Object#singleton_methods(false) と同じになっています。
@param include_inherited 引数が偽の時は Object#singleton_methods(false) と同じになります。
//emlist[例1][ruby]......nt
private; def private_parent() end
protected; def protected_parent() end
public; def public_parent() end
end
class Foo < Parent
private; def private_foo() end
protected; def protected_foo() end
public; def public_foo() end
end
obj = Foo.new
class <<obj
private......ivate_singleton() end
protected; def protected_singleton() end
public; def public_singleton() end
end
# あるオブジェクトの応答できるメソッドの一覧を得る。
p obj.methods(false)
p obj.public_methods(false)
p obj.private_methods(false)
p obj.protected_methods(f... -
Object
# public _ methods(include _ inherited = true) -> [Symbol] (12207.0) -
そのオブジェクトが理解できる public メソッド名の一覧を返します。
...が理解できる public メソッド名の一覧を返します。
@param include_inherited 偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。
@see Module#public_instance_methods,Object#methods,Object#singleton_methods... -
Forwardable
# def _ instance _ delegator(accessor , method , ali = method) -> () (9424.0) -
メソッドの委譲先を設定します。
...。
@param accessor 委譲先のオブジェクト
@param method 委譲先のメソッド
@param ali 委譲元のメソッド
委譲元のオブジェクトで ali が呼び出された場合に、
委譲先のオブジェクトの method へ処理が委譲されるようになります。
委......することが可能です。
def_delegator は def_instance_delegator の別名になります。
//emlist[例][ruby]{
require 'forwardable'
class MyQueue
extend Forwardable
attr_reader :queue
def initialize
@queue = []
end
def_delegator :@queue, :push, :mypush
end
q = MyQueue.n......ew
q.mypush 42
q.queue # => [42]
q.push 23 # => NoMethodError
//}
@see Forwardable#def_delegators... -
Forwardable
# def _ instance _ delegators(accessor , *methods) -> () (9308.0) -
メソッドの委譲先をまとめて設定します。
...m methods 委譲するメソッドのリスト
委譲元のオブジェクトで methods のそれぞれのメソッドが呼び出された場合に、
委譲先のオブジェクトの同名のメソッドへ処理が委譲されるようになります。
def_delegators は def_instance_delegat......ors の別名になります。
また、以下の 2 つの例は同じ意味です。
def_delegators :@records, :size, :<<, :map
def_delegator :@records, :size
def_delegator :@records, :<<
def_delegator :@records, :map
@see Forwardable#def_delegator... -
UnboundMethod
# arity -> Integer (9221.0) -
メソッドが受け付ける引数の数を返します。
...t[例][ruby]{
class C
def one; end
def two(a); end
def three(*a); end
def four(a, b); end
def five(a, b, *c); end
def six(a, b, *c, &d); end
end
p C.instance_method(:one).arity #=> 0
p C.instance_method(:two).arity #=> 1
p C.instance_method(:three).arity #=> -1
p C.inst......ce_method(:four).arity #=> 2
p C.instance_method(:five).arity #=> -3
p C.instance_method(:six).arity #=> -3
String.instance_method(:size).arity #=> 0
String.instance_method(:replace).arity #=> 1
String.instance_method(:squeeze).arity #=> -1
String.instance_method(:count).arity... -
UnboundMethod
# source _ location -> [String , Integer] | nil (9131.0) -
ソースコードのファイル名と行番号を配列で返します。
...nil を返します。
//emlist[例][ruby]{
require 'time'
Time.instance_method(:zone).source_location # => nil
Time.instance_method(:httpdate).source_location # => ["/Users/user/.rbenv/versions/2.4.3/lib/ruby/2.4.0/time.rb", 654]
//}
@see Proc#source_location, Method#source_location...