जावा में कहीं और, इंडेक्स वाला कुछ भी 0 से शुरू होता है। क्या यहां बदलाव का कोई कारण है या यह सिर्फ खराब डिज़ाइन है?जेडीबीसी में, तैयार बयानों के लिए पैरामीटर इंडेक्स 0 के बजाय 1 पर क्यों शुरू होते हैं?
उत्तर
ऐतिहासिक रूप से, डेटाबेस ने बाध्य पैरामीटर के लिए 1-आधारित अनुक्रमण का उपयोग किया है। यह शायद सेट सिद्धांत और गणित में संबंधपरक डेटाबेस की उत्पत्ति को दर्शाता है, जो एक के साथ शुरू होने वाले इंडेक्स तत्व, और शून्य या खाली सेट का प्रतिनिधित्व करने के लिए शून्य का उपयोग करते हैं।
शैल स्क्रिप्ट और नियमित अभिव्यक्तियों में, शून्य सूचकांक आमतौर पर कुछ "विशेष" का अर्थ है। उदाहरण के लिए, खोल स्क्रिप्ट के मामले में, शून्य "तर्क" वास्तव में वह आदेश होता है जिसे बुलाया गया था।
जेडीबीसी के लिए विकल्प जानबूझकर था, लेकिन आखिरकार, इससे अधिक भ्रम और समस्या हल हो जाती है।
गणित में शून्य-अनुक्रमण (आमतौर पर मेरे अनुभव (तीसरे वर्ग बीएससी) में जाना आसान होता है)। –
मुझे नहीं लगता कि शून्य-आधारित अनुक्रमण एक गणितीय आर्टिफैक्ट है। प्रत्येक रैखिक बीजगणित पुस्तक मैंने पंक्तियों/स्तंभों को क्रमांकित करना शुरू कर दिया है 1. अगर मैं सही से याद करता हूं तो फ़ोरट्रान डिफ़ॉल्ट 1 से चूक जाता है। मुझे लगता है कि शून्य-आधारित इंडेक्सिंग सी और पॉइंटर अंकगणित से विरासत है। – duffymo
व्यक्तिगत रूप से, मुझे लगता है कि 0-आधारित इंडेक्सिंग सी पॉइंटर अंकगणित से एक फेंकना है जो कि हम सभी की दुर्भाग्य से अटक गया है। –
संभावना है कि जेडीबीसी को ओडीबीसी पर मॉडलिंग किया गया था।
मुझे लगता है कि दोनों को एक्स/ओपन इंटरफेस पर मॉडलिंग किया गया था। –
अधिक मानव दोस्ताना शायद? इसके अलावा, जावा की नियमित अभिव्यक्ति माचर का समूह पहले मिलान वाले समूह के रूप में 1 से शुरू होता है।
यह नियमित अभिव्यक्तियों के साथ मानक है क्योंकि 0 का उपयोग पूरे मैच के लिए किया जाता है। – Eclipse
व्यक्तिगत रूप से मैं इसे खराब डिजाइन के लिए तैयार करूंगा।
मैं समझता हूं कि जेडीबीसी और ओडीबीसी दोनों एक्स/ओपन कॉल लेवल इंटरफेस पर आधारित हैं। तो, यह पूर्व-जावा इतिहास है, जैसे 0-आधारित महीनों की संख्या।
यह मूल भाषा डिजाइनरों द्वारा कमजोर लोगों को कम करने के लिए एक साजिश का हिस्सा था। मूल spec में, सरणी -1 से गिने गए थे, और 1 तत्व के साथ सूची लंबाई = 0 लौटा दी।
आज, केवल जावा कैलेंडर एपीआई इस शैक्षिक साजिश से बनी हुई है।
- 1. आर में वेक्टर इंडेक्स 1 के बजाय 1 के साथ क्यों शुरू होता है?
- 2. तैयार बयानों पर टाइमआउट डालने
- 3. जावा जेडीबीसी तैयार कथन अधिकतम पैरामीटर मार्कर
- 4. तैयार बयानों के साथ एसक्यूएल इंजेक्शन?
- 5. लिनक्स बाइनरी के लिए वर्चुअल मेमोरी पते 0x8048000 पर क्यों शुरू होते हैं?
- 6. क्यों 0 और 1 1 है जबकि 1 और 0 0 रूबी में 0 है?
- 7. स्कैला टुपल्स की इंडेक्स 1-आधारित क्यों हैं?
- 8. स्ट्रिंग्स जावा में "" से क्यों शुरू होते हैं?
- 9. ~ 0 -1 क्यों है?
- 10. लिंक दो स्लैश के साथ शुरू होते हैं
- 11. हेस्टोर से बचने में जेडीबीसी तैयार कथन
- 12. काउंटर हर बार शुरू होते हैं?
- 13. 1 और 0 के
- 14. पीडीओ तैयार बयानों को मुक्त करना (डीलॉकेट तैयार करें)
- 15. बयानों में चर के दायरे
- 16. अमान्य आर्ग्यूमेंट = '0' का मान 'चयनित इंडेक्स' के लिए मान्य नहीं है। पैरामीटर नाम: चयनित इंडेक्स
- 17. तैयार वक्तव्य और जेडीबीसी ड्राइवर्स
- 18. 0 [1, 2] == सच में, क्यों?
- 19. ड्रॉइंग फ़ोल्डर में नाम क्यों नहीं रख सकते हैं विशेष वर्ण होते हैं या पूंजी पत्र से शुरू होते हैं?
- 20. Querystring के बजाय URL में पैरामीटर दिखाने के लिए ActionLink?
- 21. वीबी 6 में आधारित सरणी इंडेक्स 0-आधारित हैं?
- 22. पर एक 0 ... 1 एसोसिएशन
- 23. यह SQL परिणाम इंडेक्स खोज के बजाय इंडेक्स स्कैन में क्यों परिणाम देता है?
- 24. "0" चरित्र के साथ ल्यूसीन इंडेक्स समस्याएं
- 25. आठ 1 और 0 के
- 26. DataTables में पंक्ति 0 के लिए डेटा स्रोत से अनुरोध किया गया अज्ञात पैरामीटर '1'
- 27. परिवर्तनीय नाम _ माध्य से शुरू होते हैं?
- 28. नियमों के लिए रूबी स्वरूपण: '1' के रूप में '1', '2' '2' के रूप में '0' '
- 29. पैकेज ऑब्जेक्ट्स कब शुरू होते हैं?
- 30. उत्पादन के लिए 3.0 तैयार तैयार है
मैं वही बात सोच रहा था, खासकर जब परिणामसेट्स 1-अनुक्रमित भी हैं। – Uri