Bladeren bron

Develop post more.

master
Ben Kurtovic 9 jaren geleden
bovenliggende
commit
3773cba45c
1 gewijzigde bestanden met toevoegingen van 18 en 2 verwijderingen
  1. +18
    -2
      _drafts/python-object-replacement.md

+ 18
- 2
_drafts/python-object-replacement.md Bestand weergeven

@@ -82,9 +82,13 @@ collector should eliminate it.

## Fishing for references with Guppy

Guppy!
So, this boils down to finding all of the references to a particular object,
and then updating them to point to a different object.

## Handling different references
But how do we track references? Fortunately for us, there is a library called
[Guppy](http://guppy-pe.sourceforge.net/) that allows us to do this.

## Handling different reference types

### Dictionaries

@@ -110,3 +114,15 @@ function closures
### Frames

...

### Classes

...

### Other cases

Certainly, not every case is handled above, but it seems to cover the vast
majority of instances that I've found through testing. Remaining areas to
explore include behavior when metaclasses and more complex descriptors are
involved. Implementing a more complete version of `replace()` is left as an
exercise for the reader.

Laden…
Annuleren
Opslaan