Просмотр сниппета
Динамическое создание методов класса
Код позволяет динамически создавать методы для классов#!/usr/bin/env ruby class Hero def speak puts 'Invaders must die!' end def create_method(name, &block) self.class.send(:define_method, name, &block) end end superman = Hero.new superman.speak begin superman.die rescue => e puts e.message end superman.create_method('die') do puts 'Good Bye!' end superman.die #Invaders must die! #undefined method `die' for #<Hero:0xb77c35f0> #Good Bye!
Зарегистрируйтесь или выполните Вход для того чтобы оставлять комментарии


