Birçok dilde (geniş bir liste, C'den JavaScript'e)
- virgül
,
ayrı argümanlar (örneğinfunc(a, b, c)
) - noktalı virgüller
;
sıralı komutları ayırır (örn.instruction1; instruction2; instruction3
).
Peki neden aynı dilde tersine bu haritalama olduğunu döngüler için :
for ( init1, init2; condition; inc1, inc2 )
{
instruction1;
instruction2;
}
yerine (bana daha doğal görünen ne)
for ( init1; init2, condition, inc1; inc2 )
{
instruction1;
instruction2;
}
?
Tabii, for
(genellikle) bir fonksiyonu ancak argümanlar (yani init
, condition
, increment
) daha bir dizi talimat daha fonksiyonun argümanları gibi davranırlar.
Değişimi için iyi bir gerekçe var dolayı tarihsel nedenler / a sözleşmeye mı, yoksa ,
ve ;
döngüler içinde?
;
değil |
?" (veya yapmak Neden 'başka' değil 'aksi'? kullanın )) Bir dil için durum, ancak bunların büyük bir sayı değil hangi. Örneğin, "döngüde kısa bir süre için C ile yapıldı (ve inc için birden fazla ifade düşünülmüştü) ve insanlar programcıların tahrişini önlemek için bunu değiştirmek istemiyorlardı" cevabı mükemmeldi.