Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
class Dynamical
define_method :works_fine do |&block|
5.times { |n| block.call(n) }
end
def self.defn name
define_method name do |&block|
5.times { |n| yield n }
end
end
def also_works_fine(&block)
5.times { |n| block.call(n) }
end
define_method :explodes do |&block|
5.times { |n| yield n }
end
def seems_like_it_should_explode
5.times { |n| yield n }
end
end
d = Dynamical.new
d.works_fine {|x| puts x}
d.also_works_fine {|x| puts x}
d.seems_like_it_should_explode {|x| puts x}
Dynamical.defn(:yay) { |x| puts x }
d.yay
d.explodes {|x| puts x}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment