Paste: Stupid Python Trick
| Author: | Screwtape |
| Mode: | python |
| Date: | Tue, 30 Mar 2010 10:20:28 |
Plain Text |
class LengthAccumulator(object):
def __init__(self):
self.number = 1
def __neg__(self):
self.number += 1
class LengthLiteral(object):
def __neg__(self):
return LengthAccumulator()
def __sub__(self, other):
if isinstance(other, LengthAccumulator):
return other.number + 1
else:
return 1
I = LengthLiteral()
if __name__ == "__main__":
assert I-I == 1
assert I--I == 2
assert I------I == 6
| Author: | apgwoz |
| Mode: | factor |
| Date: | Thu, 1 Apr 2010 18:04:40 |
Plain Text |
class LengthAccumulator(object):
def __init__(self):
self.number = 1
def __neg__(self):
self.number += 1
return self
# otherwise I get a TypeError
| Author: | uuu |
| Mode: | doxygen |
| Date: | Fri, 2 Apr 2010 13:24:26 |
Plain Text |
ok?
| Author: | uj |
| Mode: | clips |
| Date: | Fri, 2 Apr 2010 13:25:07 |
Plain Text |
uy/t/u
New Annotation