Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Objectクラス > singleton_method
singleton_method(name) -> Method
[permalink][rdoc]オブジェクトの特異メソッド name をオブジェクト化した Method オブジェクトを返します。
class Demo
def initialize(n)
@iv = n
end
def hello()
"Hello, @iv = #{@iv}"
end
end
k = Demo.new(99)
def k.hi
"Hi, @iv = #{@iv}"
end
m = k.singleton_method(:hi) # => #<Method: #<Demo:0xf8b0c3c4 @iv=99>.hi>
m.call #=> "Hi, @iv = 99"
m = k.singleton_method(:hello) # => NameError
[SEE_ALSO] Module#instance_method, Method, BasicObject#__send__, Object#send, Kernel.#eval, Object#method