Lets say I have
module A
class B
def t
puts “hi”
end
end
end
And I want to add a function to it. Whats the difference between:
module A
class B
def new_function
puts “foo”
end
end
end
AND
A::B.class_eval do
def new_function
puts “foo”
end
end
Is there any difference?
On Feb 7, 2008 5:55 PM, Aryk G. [email protected] wrote:
AND
A::B.class_eval do
def new_function
puts “foo”
end
end
Is there any difference?
Kind of hard to read all this nesting without some kind of spacing for
help. Or did it just get stripped for me, for some reason?
Anyway, I think, if you’re writing out the method ahead of time,
there’s not a real difference. However, if you wanted to create
methods on the fly based on something else (who knows what…), you’d
want, of the two, class_eval. Though, really, you’d probably want to
use add_method, or whatever the name of the function for doing that is
(can’t remember right now).
Ben