Python language hack for C-style programmers [DO NOT USE!] :-)

Dave Angel davea at davea.name
Fri Mar 28 02:44:51 CET 2014


 Chris Angelico <rosuav at gmail.com> Wrote in message:
> On Fri, Mar 28, 2014 at 3:08 AM, Tim Chase
> <python.list at tim.thechases.com> wrote:
>> Multiple times, I've seen someone want something like what C-style
>> languages offer where assignment is done in a test, something like
>>
>>   if (m = re.match(some_string)):
>>     do_something(m)
> 
> If you want a language where you can do this sort of thing, but the
> semantics are like Python's (first-class complex objects, garbage
> collection, references instead of pointers, pass-by-object, etc),
> check out Pike. Its syntax is very much C's, or C++'s or Java's if you
> prefer, but it functions very much the way Python does. You can even -
> and you can't do this in C or, to my knowledge, C++ - declare a
> variable inside an if, which is valid only in the body of that if:
> 
> if (array m = Regexp.split2(some_pattern, some_string))
>     do_something(m);
> 

I don't know for certain about if, but you can declare (in C++) a
 new variable in for, which is a superset of if. Scope ends when
 the for does.



-- 
DaveA




More information about the Python-list mailing list