Mercurial > hg > config
comparison python/aspects.py @ 124:2f0baf81372f
added illustration of doing aspects in python
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Tue, 08 Feb 2011 10:08:44 -0800 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 123:e4746a046446 | 124:2f0baf81372f |
|---|---|
| 1 class MakePythonLikeJavascript(object): | |
| 2 def __getattr__(self, name): | |
| 3 return undefined | |
| 4 | |
| 5 class undefined(MakePythonLikeJavascript): | |
| 6 def __nonzero__(self): | |
| 7 return False | |
| 8 def __str__(self): | |
| 9 return 'undefined' | |
| 10 __repr__ = __str__ | |
| 11 undefined = undefined() # singleton | |
| 12 | |
| 13 if __name__ == '__main__': | |
| 14 foo = MakePythonLikeJavascript() | |
| 15 foo.bar = 5 | |
| 16 print foo.bar | |
| 17 print foo.fleem | |
| 18 print foo.fleem.flarg |
