[python] Metody korenoveho objektu
Radek Kanovsky
rk na dat.cz
Úterý Duben 1 17:05:59 CEST 2003
On Tue, Apr 01, 2003 at 04:57:49PM +0200, Radek Kanovsky wrote:
> > > def inst_list (cls) :
> > > return filter(lambda x: isinstance(x, cls), gc.get_referrers(cls))
> >
> > Tudy, obavam se, cesta nevede. Mozna reseni, ktera me napadaji
> > 1) zmenit primo definici objectu, zde nevim, zda k tomu nebudu potrebovat
> > hrabat se v C.
> > 2) pri startu programu rozsirit protkol objectu. Pak by, predpokladam, mely
> > vsechny loadovane tridy mit prislusne rozsireny interface.
>
> Urcite by bylo potreba vlezt do zdrojaku pythonu a upravit
> object a mozna type. Pokud byste ovsem netrval na syntaxi
> obj.hmo1.hmo2.hmo3.meth() a spokojil se s hmo3(hmo2(hmo1(obj.meth))),
> tak by to snad slo i bez toho. Otazkou je efektivita toho celeho.
Jeste me napadla jedna moznost: upravit si __import__ tak, aby
prepsal ve vsech bajtkodech obj.hmo1.hmo2.hmo3.meth() na
hmo3(hmo2(hmo1(obj.meth :-))) To by slo mozna i na urovni pythonu.
Radek Kaòovský
Další informace o konferenci Python