Python language hack for C-style programmers [DO NOT USE!] :-)
Dave Angel
davea at davea.name
Thu Mar 27 21:44:51 EDT 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