In molte lingue (un ampio elenco, da C a JavaScript):
- commas
,argomenti separati (ad esempiofunc(a, b, c)), mentre - punto e virgola
;istruzioni sequenziali separate (ad esempioinstruction1; instruction2; instruction3).
Quindi, perché questa mappatura è stata invertita nelle stesse lingue per per cicli :
for ( init1, init2; condition; inc1, inc2 )
{
instruction1;
instruction2;
}
invece di (ciò che mi sembra più naturale)
for ( init1; init2, condition, inc1; inc2 )
{
instruction1;
instruction2;
}
Certo, for è (di solito) non una funzione, ma gli argomenti (cioè init , condition , increment ) si comportano più come argomenti di una funzione che come una sequenza di istruzioni.
È dovuto a ragioni storiche / una convenzione, oppure esiste una buona logica per lo scambio di , e ; nei cicli?