RX0064

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

त्रुटि संदेश

return[] में %s है: वह ONE नाम या ONE literal लेता है (%s)

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

कहानी

आपने return[] के भीतर ऐसा व्यंजक लिखा जो सिर्फ़ एक नाम या एक literal नहीं है, और इंजन ने पार्स पर ही रोक दिया। नियम सीधा है, और बिल्कुल साफ़: अगर आप किसी पुकार का नतीजा लौटाना चाहते हैं, तो पहले उसे एक मान में डालिए। return[] केवल एक स्तर का संदर्भ या literal लेता है, भीतर कोई व्यंजक या चालाकी नहीं। इसलिए return[x], return[5], return['x'], return[true], return[null] और पथ ठीक हैं। पर पुकार, ऑपरेटर वाला व्यंजक, method श्रृंखला या सदस्य-पहुँच नहीं चलते। उदाहरण: return[write[v]] ग़लत है। सही रूप है res = write[v] और फिर return[res]। जैसे दुकानदार से कहें कि थैला भर दो और साथ में तौलकर पैसे भी वहीं हिसाब कर दो, सब एक ही वाक्य में। इलाज: पहले व्यंजक का नतीजा एक नाम में बाँधिए, फिर उसी नाम को लौटाइए। संदेश में वह चीज़ है जो return[] में मिली।

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