On Fri, Aug 03, 2007, Frank Meyer wrote:
> thanks for your explanations. And I didn't know that ruby allows the 
> reading and setting (and even creation) of instance variables.

Yup.  That's what @something variables are.

> What does class_eval do?

It's like instance_eval, but evaluates in the context of a class
instead.  Hark:

str = "foo"
str.instance_eval {length}
=> 3 (same as calling str.length)

str.class.class_eval {def foo; return 'bar'; end}
str.foo
=> 'bar' # effectively the same as re-opening the class

I'm sure there are other subtleties involved, but that's the top-level
view.

Ben