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

Reply via email to