> >  def initialize
> >    @prop1 = LazyLoad.new{:it_works}
> >    @prop2 = LazyLoad.new{:nothing}
> >  end
>
> Ah, careful. Every method call on @prop1 or @prop2 would
> rerun the block. You won't notice any problems if all the
> block does is return a symbol, but for anything more complex
> ... well, see my last email.

Yeah, true. Bad example. The original code (the branches) uses
a common method "load" which sets both properties. If one of
them is used, the other gets set as well. No problem there.

gegroet,
Erik V. - http://www.erikveen.dds.nl/