मोड्युल
मोड्युल भनेको अर्को फाइल वा प्याकेजको कोड आयात गरेर पुनः प्रयोग गर्ने उपाय। आयात कीवर्डले सुरु हुने चारवटा रूप छन्।
१. आयात किन?
एकै प्रोग्राममा सबै कोड लेख्नुबाट बच्न — काम-अनुसार फाइल छुट्याइन्छ: एउटामा गणित, अर्कोमा फाइल व्यवस्थापन। प्रयोग गर्दा आयात ले ठाउँमा तानिन्छ:
आयात "गणित"
लेख योग(५, ३) # ८
लेख घटाऊ(१०, ४) # ६
आयात गरेपछि त्यस मोड्युलका शीर्ष-स्तरका नामहरू उपलब्ध हुन्छन्।
२. सरल आयात
सबै शीर्ष-स्तर नाम सीधै, बिना नामाङ्कन:
आयात "गणित"
लेख योग(५, ३) # ८
लेख क्षेत्रफल(२) # १२.५६...
आयातका नाम सीधै उपलब्ध भएकाले नाम ठोक्किए (collide) भए समस्या हुन सक्छ — त्यसैले नामाङ्कन/लुकाउने रूप उपयोगी हुन्छ।
३. नामाङ्कन आयात (रूपमा)
रूपमा ले मोड्युलका नाम नामाङ्कन (namespace) पछाडि राख्छ — ठोक्काइबाट बच्न:
आयात "गणित" रूपमा ग
लेख ग.योग(५, ३) # ८
लेख ग.क्षेत्रफल(२) # १२.५६...
नामाङ्कनलाई चरमा राखेर पनि प्रयोग गर्न सकिन्छ:
राख नेस = ग
लेख नेस.योग(५, ३) # ८
४. चुनिएको आयात (बाट)
बाट (from) ले सूचीका नाम मात्र आयात गर्छ:
आयात {योग, घटाऊ} बाट "गणित"
लेख योग(५, ३) # ८
लेख घटाऊ(१०, ४) # ६
# क्षेत्रफल उपलब्ध छैन
नामाङ्कनसँग पनि जोड्न मिल्छ:
आयात {घटाऊ} बाट "गणित" रूपमा ग
लेख ग.घटाऊ(२०, ५) # १५
५. लुकाउने आयात (लुकाऊ)
लुकाऊ (hide) ले सूचीका नाम बाहेक सबै आयात गर्छ — ठोक्किने एउटा नाम मात्र बाहिर राख्नु परे:
आयात "गणित" लुकाऊ {घटाऊ}
लेख योग(५, ३) # ८
# घटाऊ आयात भएन
६. उपमोड्युल
मोड्युलभित्रका उपमोड्युल /-ले अलग गरिएको पथले आयात हुन्छ:
आयात "http/सर्भर"
लेख पठाउ("नमस्ते")
७. आफ्नै मोड्युल बनाउने
कुनै पनि .npl फाइल अर्को .npl बाट आयात गर्न सकिन्छ — एन्ट्री फाइलसँगैको आपेक्षिक फाइल, आयात नामसँग मिल्दा स्वचालित रूपमा समाधान हुन्छ।
गणित.npl:
कार्य वर्ग(पूर्णाङ्क क) -> पूर्णाङ्क
फर्काऊ क * क
अन्त्य
मुख्य.npl:
आयात "गणित"
लेख वर्ग(५) # २५
प्याकेजको रूपमा बाँड्न nepali package install <नाम> प्रयोग गरिन्छ।
८. मानक पुस्तकालय
मानक पुस्तकालयका कार्य (लेख, गणित_निरपेक्ष, पाठ_लम्बाइ...) पूर्व-दर्ता गरिएका नेटिभ कार्य हुन् — आयात नगरी पनि चल्छन्:
लेख गणित_निरपेक्ष(-५) # ५
लेख पाठ_लम्बाइ("नेपाली") # ६
विस्तृत सूचीका लागि मानक पुस्तकालय हेर्नुहोस्।
९. नोटहरू
- सरल, चुनिएको, वा लुकाउने आयातका नाम सीधै उपलब्ध हुन्छन् — नामाङ्कन गरिएको हुँदैन।
- नामाङ्कन आयात (
रूपमा) ले नामहरू नामाङ्कन पछाडि राख्छ; मोड्युलको शीर्ष-स्तर कोड आयातको बेला एकपटक चल्छ। - आयात चक्र (cycle) पत्ता लगाएर कम्पाइल-टाइम त्रुटि देखाइन्छ।
- सबैभन्दा सुरक्षित सिफारिस: जति सानो आयात, उति स्पष्ट कोड।