On 03/01/2014 00:57, Gary Herron wrote:
On 01/02/2014 01:44 PM, John Allsup wrote:
The point of my original post was that, whilst C's
if( x = 2 ) { do something }
and
if( x == 2 ) { do something }
are easy to confuse, and a source of bugs, having a construct like
follows:
if x == 2:
do something # what happens at present
if testFunc() as x:
do something with x
using the 'as' syntax that appears with 'with' and 'except', would allow
for the advantages of C style assignments in conditionals but without
the easy confusion, since here the syntax is significantly different
between assignment and equality testing (rather than a character apart
as happens with C).
This occurs further down in my original post (past the point where you
inserted your reply).
Another post suggested a workaround by defining a 'pocket' class, for
which I am grateful.
John
Sorry. I shot off my answer before reading the whole post. That's
never a good idea.
After reading to the end, I rather like your suggestion. It works well
in your example, , nicely avoids the C/C++ trap, and has some
consistency with other parts of Python.
Gary Herron
I liked the look of this as well. It ought to go to python ideas, or
has it been suggested there in the past?
--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.
Mark Lawrence
--
https://mail.python.org/mailman/listinfo/python-list