त्रुटि संदेश
संदेश में %s उस मान की जगह है जिसे इंजन त्रुटि उठाते समय भरता है।
कहानी
आपने एक fn के भीतर दूसरा fn लिखा और उसने बाहरी fn का मान सीधे पढ़ लिया। इंजन ने पार्स पर ही कहा कि यह closure है। चलिए देखें क्यों मना है। घर का कानून है: closures छिपी अवस्था पकड़ लेते हैं, और छिपा जुड़ाव सबसे बुरे जुड़ावों में से है। भीतरी fn अपने पैरामीटर, अपने मान और module तक पहुँच सकता है, पर घेरने वाले fn के मानों तक नहीं। वह नाम बँधा तो है, बाहरी fn में, इसलिए "नाम कहीं नहीं मिला" कहना ग़लत होता। इसलिए इंजन उसे उसी रूप में नाम देकर अस्वीकार करता है जो वह है। उदाहरण: बाहरी fn में rate = 5 है और भीतरी fn सीधे rate पढ़ता है। जैसे आप किसी की जेब से बिना कहे पैसे निकाल लें। इलाज: rate को भीतरी fn का आर्ग्युमेंट बनाइए और बुलाते समय उसे पास कीजिए। संदेश में वह नाम और उसकी जगह है।
पाठ Rush इंजन की त्रुटि सूची से लिया गया है।
