18
How I added C-style for-loops to Python
(tushar.lol)
Welcome to the Python community on the programming.dev Lemmy instance!
Past
November 2023
October 2023
July 2023
August 2023
September 2023
The
with
approach would work if you use the debugger to change the current line I think.I don't understand why this stop using ASTs in favor of buggy regexes - you're allowed to do whatever you want during the codec ...
Don't forget to handle increment before
continue
.The main time I miss C-style for loops is dealing with linked lists and when manipulating the current iteration.
The former should be easy enough - make the advancement provide
__getattr__
expressions.The latter already works since it is in fact being transformed into a
while
. It's impossible if you try to usefor
though.If it's valid syntax you can technically do pretty much whatever you want at runtime with enough hacks. I know pytest does some pretty crazy stuff to get nicer error messages from asserts (e.g. so it can display the value of a and b for
assert a == b
)As soon as it's invalid syntax it becomes harder. You can't parse it into an ast, which I assume is why they used regex.