# HG changeset patch # User Jeff Hammel # Date 1297188524 28800 # Node ID 2f0baf81372f5061851a0aeaa5b5323d3babb541 # Parent e4746a04644662666ef4ec5b7c65e481a09e56f8 added illustration of doing aspects in python diff -r e4746a046446 -r 2f0baf81372f python/aspects.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python/aspects.py Tue Feb 08 10:08:44 2011 -0800 @@ -0,0 +1,18 @@ +class MakePythonLikeJavascript(object): + def __getattr__(self, name): + return undefined + +class undefined(MakePythonLikeJavascript): + def __nonzero__(self): + return False + def __str__(self): + return 'undefined' + __repr__ = __str__ +undefined = undefined() # singleton + +if __name__ == '__main__': + foo = MakePythonLikeJavascript() + foo.bar = 5 + print foo.bar + print foo.fleem + print foo.fleem.flarg