Questo sembra essere un tipo di guardia . Vedi: link
In computer programming, a guard is a boolean expression that must evaluate to true if the program execution is to continue in the branch in question.
Nel tuo caso, i < 50
è la guardia del ciclo, impedendone l'esecuzione se i
è troppo grande.
Penso che di solito una guardia sia scritta come:
if (len< MAX_VALUE)
{
for (var i = 0; i < len; i++)
{
do_stuff();
}
}
//optional else-clause to warn when guard-condition is violated.
//else
// ERROR("Value for i is too big!!");
Questo modulo ti consentirebbe di scrivere una clausola else
(in cui potresti avvertire l'utente del valore non valido di i
, forse). Il tuo modulo compatto, in cui lo includi nella condizione del ciclo non ammette un else
, ma forse non ne vuoi uno.
Come hanno notato anche alcuni commentatori, il tuo ciclo eseguirà ancora fino a 50 iterazioni, anche se len
è maggiore di 50. L'utilizzo di una protezione if..else
tradizionale come scritto sopra non ti consentirà di farlo, quindi è non equivalente al tuo codice (che controlla anche la condizione di guardia a ogni iterazione).