ในหลายภาษา (รายการกว้างจาก C ถึง JavaScript):
,
คั่นด้วยจุลภาคคั่น (เช่นfunc(a, b, c)
) ขณะที่- อัฒภาค
;
แยกคำแนะนำตามลำดับ (เช่นinstruction1; instruction2; instruction3
)
เหตุใดการทำแผนที่นี้จึงย้อนกลับเป็นภาษาเดียวกันสำหรับfor loops :
for ( init1, init2; condition; inc1, inc2 )
{
instruction1;
instruction2;
}
แทน (สิ่งที่ดูเป็นธรรมชาติสำหรับฉัน)
for ( init1; init2, condition, inc1; inc2 )
{
instruction1;
instruction2;
}
?
แน่นอนว่าfor
เป็น (ปกติ) ไม่ทำงาน แต่ข้อโต้แย้ง (เช่นinit
, condition
, increment
) ทำงานมากขึ้นเช่นการขัดแย้งของฟังก์ชั่นกว่าลำดับของคำแนะนำ
มันเป็นเพราะเหตุผลทางประวัติศาสตร์ / การประชุมหรือมีเหตุผลที่ดีสำหรับการแลกเปลี่ยน,
และ;
ในลูป?
;
ไม่ได้|
" (หรือทำไมเราจึงใช้ 'อื่น' ไม่ใช่ 'อย่างอื่น' )) ซึ่งไม่ใช่กรณีของภาษาหนึ่ง แต่เป็นจำนวนมาก คำตอบที่ว่า "มันถูกสร้างขึ้นใน C เป็นชวเลขในขณะที่วนรอบ (และหลายงบสำหรับ inc ถูกคิดในภายหลังเท่านั้น) และผู้คนไม่ต้องการเปลี่ยนมันเพื่อหลีกเลี่ยงการระคายเคืองของโปรแกรมเมอร์" จะดีอย่างสมบูรณ์