
On 04/23/2010 07:23 PM, Jess Austin wrote:
for the sake of completeness: would the following:
if not foo() as x: ... x
mean this:
x = foo() if not x: ... x
I would think it would defined as if expression as name: block using name Which would be... x = not foo() if x: ... x So it could be tricky to get the correct behavior unless (expression as name) becomes a valid expression in it self, but then it wouldn't be limited to the if block, so you might as well just use (expression = name). Another issue would be, what if x already existed? would it just write over it, or raise a NameError. If it wrote over it, would it be restored after the block to it's previous value? All of this adds unneeded complexity to the language without adding any real benefits. Yes it reduces the line count by one, but what meaningful use case is enabled with this that we can't already do? Ron