मुझे समझ में नहीं आ रहा है कि क्यों जावा की [String.substring() विधि] (http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#substring(int,%20int%29) इस तरह से निर्दिष्ट है। मैं इसे क्रमांकित स्थिति में शुरू करने और निर्दिष्ट वर्णों को वापस करने के लिए नहीं कह सकता; मुझे गणना करना है अंत स्थिति अपने आप को। और अगर मैं सिर्फ मेरे लिए स्ट्रिंग के बाकी लौटने का, स्ट्रिंग की समाप्ति के बाद समाप्त कर स्थिति निर्दिष्ट बजाय, जावा एक अपवाद फेंकता है।सबस्ट्रिंग() कैसे काम करना चाहिए?
जहां सबस्ट्रिंग मैं भाषाओं के लिए इस्तेमाल किया कर रहा हूँ() (या substr()) दो पैरामीटर लेता है: एक प्रारंभ स्थिति, और लंबाई। क्या यह जावा के तरीके से अपेक्षाकृत बेहतर है, और यदि हां, तो क्या आप इसे साबित कर सकते हैं? substring() के लिए सबसे अच्छी भाषा विनिर्देश क्या है देखा, और जब कभी भी भाषा को अलग-अलग करने के लिए एक अच्छा विचार होगा? क्या वह इंडेक्सऑटऑफबाउंड अपवाद है कि जावा एक अच्छा डिज़ाइन विचार फेंकता है, या नहीं? यह सब सिर्फ व्यक्तिगत वरीयता के लिए नीचे आ गया है?
यह वास्तव में निजी प्राथमिकता है, जो है यह क्या करता है की बात है "विषयपरक और बहसशील"। मुझे अलग-अलग समय में सबस्ट्रिंग के "लंबाई" और "अंत स्थिति" दोनों स्वादों की आवश्यकता है, इसलिए मेरे लिए यह समझ में नहीं आता कि एक दूसरे की तुलना में "बेहतर" है। –
इसके बारे में कोई तर्कसंगतता की आवश्यकता नहीं है क्योंकि यह व्यक्तिपरक है। शीश। क्या हम पवित्र युद्ध किए बिना भाषा के निर्णयों के सापेक्ष गुणों पर बात नहीं कर सकते? यदि जॉन स्कीट सोचता है कि यह जवाब देने योग्य है और तर्क के लिए सिर्फ एक कॉल नहीं है, निश्चित रूप से इसका मतलब कुछ है? – skiphoppy
अगर मैं इसे "आश्चर्यचकित" और "असुविधा" शब्दों को निकालने के लिए संपादित करता हूं, तो क्या यह कम तर्कसंगत दिखाई देगा, क्योंकि किसी ने वास्तव में तर्क नहीं दिया है? भाषा डिजाइन प्रश्न हैं (जो ज्यादातर मामलों में स्वाभाविक रूप से कुछ व्यक्तिपरक व्यापारिक शामिल हैं) स्टैक ओवरफ़्लो के लिए उपयुक्त नहीं है? – skiphoppy