RX0116

डोमेन: पार्सिंग

त्रुटि संदेश

बिना label की भूमिका: %s (%s)

संदेश में %s उस मान की जगह है जिसे इंजन त्रुटि उठाते समय भरता है।

कहानी

आपने ऐसे दो पैरामीटर, जिनका प्रकार एक है पर भूमिका अलग, में से एक पर label नहीं लगाया, और इंजन ने पार्स पर कहा कि दोनों पर label चाहिए। समझिए। हर बिल्ट-इन पैरामीटर एक भूमिका-शब्द घोषित करता है, जैसे start या end। जब पुकार में दो पैरामीटर एक ही प्रकार के हों पर भूमिकाएँ अलग हों, तो दोनों पर label लगना चाहिए। नियम है कि स्थिति का क्रम कभी भूमिका नहीं बताता: बचे हुए को छाँटकर नहीं पहचाना जाता। उदाहरण: t.substring[start: 1, end: 3] सही है, पर t.substring[1, end: 3] गलत, क्योंकि पहला अंक कौन-सा है, यह इंजन अंदाज़े से नहीं बताता। एक अपवाद: पुकार की एक being नंगी रहती है और जोड़ी का हिस्सा नहीं बनती, इसलिए range[1, end: 10] ठीक है। और method-रूप में receiver अपना slot बिना लिखे भरता है। अगर एक ही प्रकार और एक ही भूमिका के दो operands हों, जैसे जोड़ के दोनों पक्ष, तो किसी पर label नहीं लगता। जैसे पते में "राज्य" और "शहर" दोनों नाम हैं, पर आपने केवल एक पर नाम लिखा। इलाज: दोनों पर label लगाइए। संदेश में पुकार, दोनों पैरामीटर और उनकी भूमिकाएँ हैं।

पाठ Rush इंजन की त्रुटि सूची से लिया गया है।