Oh I like it. Indexing the loop number from innermost to outermost makes more 
sense. The starting implicit index in case of alone continue/break  will always 
be known (either 1 or zero). Of course it doesn’t make sense to use negative 
index for the loop because breaking from the parent loop will break from any 
child loop. 

> On Dec 4, 2020, at 11:49 AM, Aveheuzed <a.masson...@ntymail.com> wrote:
> 
>> 
>> Why not start at break 0 not break 1, similar to sequences starting at index 
>> 0? 
>> 
>> Maybe if break alone without integer, it breaks from the loop it is at 
>> similar to the behavior we have right now in Python. 
>> 
>> E.g., 
>> 
>> for matrix in matrix_array : # Index 0
>> 
>>     for x in range(0,10) : # Index 1
>> 
>>         for y in range(0,10) : # Index 2
>> 
>>             for z in range(0,10) : # Index 3
>> 
>>                 if matrix[x][y][z] == 0 : 
>> 
>>                     print("Found !")
>> 
>>                     continue 3 # which is equivalent to continue/break alone
>> 
> Ok, so, that's yet another proposition; what I meant by "the number of loops 
> to break" was not to number the loops in a constant way, but rather to 
> specify the number of loop-blocks whose flow to break. In other words, my 
> version's behavior depends on the "callsite" if you want to target a specific 
> line of code.
> 
> To me, to "manually" do "break n", you could read the script upwards starting 
> at the break's line, and count the number of for/while loops you encounter; 
> when your count matches break's parameter, switch back to the standard code 
> flow. Your proposal, on the other hand, requires getting back to the start of 
> the script and counting loops downwards. That's not how I understand the 
> standard break/continue's behavior, tell me if I'm mistaken :-[…
> 
> I meant to start numbering at 1, not at 0, also because of the semantics of 
> the statement : "break n" would mean "break from n loops", not "break up to 
> the n-th nested loop". Therefore, the parameter-less version, "break;", witch 
> I always read as "break out of the (innermost) loop" would read "break 1". 
> For me, that's not an index after "break", it's a cardinal: we don't break 
> "the loop 0", we break "the first loop".
> 
> An added benefit from numbering from one would be to allow a "break 0" 
> statement with no effect, e.g. for debugging purposes. (I can see other, more 
> esoteric uses, too, if arbitrary expressions were allowed, but, hey, 
> consenting adults here.)
> 
>  I have tried to search for examples of numbering from 1 in Python, I'm sure 
> there are some, but I can't recall any just now ;-). Anyway, that's not the 
> core point of the proposal; I can concede that one.
> 
> 
> 
> One final point : with my way of numbering, the default parameter would 
> always be 1 (or 0, whatever), as opposed to your suggestion where you number 
> the loops from outermost to innermost. In our example, if I added / removed a 
> loop in the block, a bare "continue;" would have its default parameter vary 
> implicitly. Therefore, "continue 3", as you put it, would not be equivalent 
> to "continue" alone. I don't like that way of doing it : a default parameter 
> has always been a known, constant value ! Of course, you could always 
> differentiate between "continue" and "continue <n>", saying they are two 
> different statements that behave differently, but then I'd rather have them 
> named differently…
> 
> 
> 
> Regards, 
> 
> Alexis
> 
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at 
> https://mail.python.org/archives/list/python-ideas@python.org/message/USHBNW3YIOTG5CIZDZIELMHBCGWJ5Y7Z/
> Code of Conduct: http://python.org/psf/codeofconduct/

_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/SOSF2JUUJTD6ZHAVCFQ7K3BP5HG2DHKU/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to