कई भाषाओं में (C से जावास्क्रिप्ट तक एक विस्तृत सूची):
- अल्पविराम
,
अलग तर्क (जैसे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
) और अधिक निर्देश के अनुक्रम की तुलना में एक समारोह के तर्कों की तरह व्यवहार करते हैं।
यह ऐतिहासिक कारणों / एक सम्मेलन की वजह से वहाँ का आदान-प्रदान के लिए एक अच्छा तर्क है, या है ,
और ;
छोरों में?
;
नहीं उपयोग करते हैं |
?" (या हम 'अन्य' का उपयोग 'नहीं' अन्यथा क्यों करते हैं? )) जो एक भाषा के लिए मामला नहीं है, लेकिन उनमें से एक बड़ी संख्या है। एक जवाब है कि उदाहरण के लिए "यह सी में शॉर्टहैंड के रूप में बनाया गया था जबकि लूप (और इंक के लिए कई बयान केवल बाद में सोचा गया था), और लोग इसे प्रोग्रामर की जलन से बचने के लिए इसे बदलना नहीं चाहते थे" पूरी तरह से ठीक होगा।