在许多语言中(从C到JavaScript的广泛列表):
- 逗号
,
分隔参数(例如func(a, b, c)
),而 - 分号
;
分隔顺序指令(例如instruction1; instruction2; instruction3
)。
那么,为什么要使用相同的for循环语言来反转此映射:
for ( init1, init2; condition; inc1, inc2 )
{
instruction1;
instruction2;
}
而不是(对我来说似乎更自然)
for ( init1; init2, condition, inc1; inc2 )
{
instruction1;
instruction2;
}
?
当然,for
(通常)不是一个函数,但是参数(即init
,condition
,increment
)的行为更像指令序列的函数的参数。
是由于历史原因/惯例造成的,还是in ,
和;
in循环互换的合理依据?
;
不使用|
?”(或为什么我们使用“ else”而不是“ otherwise”?)),这不是一种语言的情况,而是大量的语言。一个很好的答案是完全可以的,例如“它是用C语言编写的while循环的缩写(并且稍后才考虑使用inc的多个语句),而人们不想更改它以免引起程序员的兴趣”。