On 15/06/2016 12:19, Rustom Mody wrote:
On Wednesday, June 15, 2016 at 8:42:33 AM UTC+5:30, Steven D'Aprano wrote:

Sort of. A break is a jump, and a goto is a jump, but apart from that,
they're not really the same thing. A goto can jump (almost) anywhere.
Depending on the language, they can jump into the middle of functions, or
into the middle of loops. That's what makes them powerful enough to break
compositionality. But break can only jump to a single place: to the
statement that follows the for...else compound statement. It's more like a
return than a goto.

I thought there'd be many examples for showing that break is just goto in 
disguise... Evidently not

So here is an example in more detail for why/how   break=goto:

http://blog.languager.org/2016/06/break-is-goto-in-disguise.html

That example is nothing to do with break vs. goto. You've just replaced an erroneous goto with an erroneous break.

It's to do with C (or C-like syntax if not C) using braces for compound statements at the same time as making them optional for a single statement.

With the wrong indentation applied, that sort of error can easily be missed. Some tools may be able to pick that up.

(Another kind of error (C seems to have plenty of capacity in this regard!) is forgetting the */ in a /* ... */ comment. Then code is mysteriously ignored until the end of the next /* ... */ comment. Although a syntax-highlighting editor will pick that up more easily.)

--
Bartc
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to