Ruby – przepinanie metody pomiędzy obiektami

Już dzieci wiedzą, że w Ruby wszystko – nawet metoda – jest obiektem. Nie wszyscy jednak zdają sobie sprawę, że metodę można od obiektu odczepić (UnboundMethod), pobawić się nią, a następnie przypiąć do innego tej samej klasy:

s1 = "obiekt s1"
instance_method = s1.method( :upcase )
unbound_method = instance_method.unbind
puts unbound_method.arity # 0
s2 = "obiekt s2"
instance_method = unbound_method.bind( s2 )
instance_method.call()  # => OBIEKT S2

Szkoda tylko, że nie ma to żadnego praktycznego zastosowania ;-)

Akcja "Oświeć Przyjaciół", podziel się znaleziskiem:
  • Wykop
  • Facebook
  • Twitter
  • Blip
  • email
  • del.icio.us
  • Blogger.com
  • Google Bookmarks
  • Śledzik
  • RSS
This entry was posted in polskie, ruby, technologia. Bookmark the permalink.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>