November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Mając daną nazwę metody, chcemy stworzyć wartość reprezentującą tę metodę.
Wspomniana wartość jest obiektem klasy Method; dla metody o podanej nazwie możemy wartość tę otrzymać za pomocą metody (nomen omen) Object#method:
s = 'To jest napis'
length_method = s.method('length') # => #<Method: String#length>
length_method.arity # => 0
length_method.call # => 13
Za pomocą metody Object#methods możemy uzyskać listę nazw metod obsługiwanych przez dany obiekt. Wywołując metodę Object#method z dowolną z tych nazw jako argumentem, otrzymamy obiekt Method reprezentujący metodę o tej nazwie.
Obiekt Method reprezentuje konkretną metodę konkretnego obiektu; wywołanie Method#call ...