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?