RX0066

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

त्रुटि संदेश

सिंबल %s घोषित होने से पहले बुलाया गया है। Rush आगे के संदर्भ (forward reference) समर्थित नहीं करता (%s)

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

कहानी

आपने एक फ़ंक्शन उसकी घोषणा से पहले बुला लिया, और इंजन ने कहा कि rush में आगे का संदर्भ नहीं चलता। चलिए बात समझें। rush में घोषणा का क्रम ही निर्भरता का नक्शा है: जो चीज़ पहले घोषित होगी, वही बाद में इस्तेमाल हो सकती है। अगर आप किसी सिंबल को घोषित होने से पहले बुलाएँ, तो यह पार्स के समय की त्रुटि है, और यह जान-बूझकर है। ध्यान दीजिए कि नाम फ़ाइल में आगे कहीं fn से घोषित है, इसलिए इंजन उसे "अज्ञात बिल्ट-इन" नहीं कहता, वरना आप ऐसी पंक्ति खोजने निकल पड़ते जो कभी थी ही नहीं। उदाहरण: पंक्ति 3 में greet[] बुलाया और fn greet पंक्ति 10 पर है। इसी वजह से परस्पर पुनरावृत्ति, जहाँ दो fn एक-दूसरे को बुलाएँ, डिज़ाइन से ही असंभव है। जैसे नक्शे में किसी जगह का रास्ता उससे पहले दिखाया जाए जब वह जगह बनी भी नहीं। इलाज: घोषणा को उसके पहले इस्तेमाल से ऊपर ले जाइए। संदेश में वह सिंबल है जो जल्दी बुलाया गया।

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