Trans
1/5/2007 11:30:00 PM
ara.t.howard@noaa.gov wrote:
> NAME
>
> pervasives.rb
>
> SYNOPSIS
>
> access to pristine object state. if you don't metaprogram you probably
> don't need it
[snip]
> enjoy and send in yer comments/patches!
well, of course i think it's great that you took the time to do this.
but i'm afraid i have an unfortunate little story to tell you.
you see about a year ago i was working on my BasicObject implementation
and how to deal with this exact problem. if you recall i brought up
this very thing on ruby-talk. i had implemented my own version of
Pervasives -- i beleive it was call Meta and/or Inspect at first, but i
later realized the methods fit well in ObjectSpace. tied to this I
created a shortcut to these mthod via a proxy like yours but rather
than '__(obj).foo', mine was 'obj.__.foo.'. Hey, great mind think
alike! :-)
now the tragic ending... with my new lib in hand i went about reworking
my meta code with it. well, it wasnt too long after that i realized it
sucked. my meta-code become bloated, harder to read and slower -- it
just wasn't worth it. and so i gave up on it.
so that' my little story and i fear the same will happen for you. i
think if the issue is going to be truly addressed, we need to work on
something more fundamental. btw eventually i just settled on using
object_class and object_send aliases when need be (shadow methods
__class__, __send__, etc. just got on my nerves) and lived with the
over-ride imperfections.
T.