本文簡要介紹ruby語言中 Object.method
的用法。
用法
method(sym) → method
在 obj
中查找命名方法作為接收器,返回一個 Method
對象(或引發 NameError
)。 Method
對象在 obj
的對象實例中充當閉包,因此實例變量和 self
的值仍然可用。
class Demo
def initialize(n)
@iv = n
end
def hello()
"Hello, @iv = #{@iv}"
end
end
k = Demo.new(99)
m = k.method(:hello)
m.call #=> "Hello, @iv = 99"
l = Demo.new('Fred')
m = l.method("hello")
m.call #=> "Hello, @iv = Fred"
請注意, Method
實現了to_proc
方法,這意味著它可以與迭代器一起使用。
[ 1, 2, 3 ].each(&method(:puts)) # => prints 3 lines to stdout
out = File.open('test.txt', 'w')
[ 1, 2, 3 ].each(&out.method(:puts)) # => prints 3 lines to file
require 'date'
%w[2017-03-01 2017-03-02].collect(&Date.method(:parse))
#=> [#<Date: 2017-03-01 ((2457814j,0s,0n),+0s,2299161j)>, #<Date: 2017-03-02 ((2457815j,0s,0n),+0s,2299161j)>]
相關用法
- Ruby Object.methods用法及代碼示例
- Ruby Object.instance_variable_get用法及代碼示例
- Ruby Object.display用法及代碼示例
- Ruby Object.remove_instance_variable用法及代碼示例
- Ruby Object.define_singleton_method用法及代碼示例
- Ruby Object.public_send用法及代碼示例
- Ruby Object.xmp用法及代碼示例
- Ruby Object.singleton_methods用法及代碼示例
- Ruby Object.enum_for用法及代碼示例
- Ruby Object.freeze用法及代碼示例
- Ruby Object.inspect用法及代碼示例
- Ruby Object.obj ==用法及代碼示例
- Ruby Object.DelegateClass用法及代碼示例
- Ruby Object.instance_of?用法及代碼示例
- Ruby Object.nil?用法及代碼示例
- Ruby Object.instance_variable_defined?用法及代碼示例
- Ruby Object.singleton_class用法及代碼示例
- Ruby Object.kind_of?用法及代碼示例
- Ruby Object.send用法及代碼示例
- Ruby Object.itself用法及代碼示例
- Ruby Object.to_enum用法及代碼示例
- Ruby Object.__id__用法及代碼示例
- Ruby Object.is_a?用法及代碼示例
- Ruby Object.instance_variable_set用法及代碼示例
- Ruby Object.extend用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Object.method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。