RX0160

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

त्रुटि संदेश

निजी fn को उसके module के बाहर से पुकारा गया: %s (%s)

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

कहानी

आपने किसी दूसरे module के निजी fn को बुलाया, और इंजन ने पार्स पर कहा कि वह निजी है। नियम यह है: project mode में कोई भी fn तभी सार्वजनिक है जब वह जड़ की manifest.rush में सूचीबद्ध हो। बाक़ी सब निजी माना जाता है, और यही सुरक्षित और बुद्धिमान डिफ़ॉल्ट है। manifest.rush domain[data] शैली की फ़ाइल है: पंक्ति 1 पर #!/bin/rush, पंक्ति 2 पर domain[data], और फिर public = ['lib.validators.check.cpf', …] जैसी सूची, हर आइटम fn का पूरा बिंदु वाला नाम। निजी fn अपने ही module के भीतर से चलता है, कहीं और से पुकारो तो पार्स पर रुकता है। यह दूसरे प्रोजेक्ट पर भी लागू है, जहाँ वहाँ की अपनी manifest जो सूचीबद्ध करे वही पहुँच में है। जैसे दफ़्तर में केवल सूची में दर्ज दरवाज़े बाहर वालों के लिए खुलते हैं। इलाज: उस fn का पूरा नाम manifest की public सूची में जोड़िए। ढीली script और shell में सब सार्वजनिक है, वहाँ यह नहीं आता। संदेश में fn, उसका module और वह manifest पंक्ति है।

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