Багато мов (широкий список, від C до JavaScript):
- комами
,
окремі аргументи (наприкладfunc(a, b, c)
), а - крапки з комою
;
окремі послідовні інструкції (наприкладinstruction1; instruction2; instruction3
).
То чому це відображення відмінено на тих самих мовах для циклів :
for ( init1, init2; condition; inc1, inc2 )
{
instruction1;
instruction2;
}
замість (що мені здається більш природним)
for ( init1; init2, condition, inc1; inc2 )
{
instruction1;
instruction2;
}
?
Звичайно, for
це ( як правило) не функція, але аргументи (тобто init
, condition
, increment
) поводяться скоріше як аргументи функції , ніж послідовність інструкцій.
Це пов'язано з історичними причинами / конвенцією, чи є достатньо обгрунтованих міркувань взаємообміну ,
та ;
циклів?
;
не використовуємо |
?" (або Чому ми використовуємо "інше", а не "інакше"? )), що стосується не однієї мови, а великої їх кількості. Відповідь, що, наприклад, "це було зроблено в C як скорочений цикл, а цикл (а кілька заяв для inc були продумані лише пізніше), і люди не хотіли його змінювати, щоб уникнути роздратування програмістів", було б абсолютно чудово.