Linux-AWK/C2/User-Defined-Functions-in-awk/Nepali
|
|
00:01 | नमस्कार! User-defined functions in awk स्पोकन ट्युटोरियल मा तपाईलाई स्वागत छ |
00:07 | यो ट्युटोरियलमा हामी यी कुराहरू सिक्ने छौं -
फंक्सन परिभाषित गर्ने सिन्ट्याक्स , फंक्सन कल र Return स्टेटमेन्ट |
00:17 | यसको लागि हामी केहि उदाहरणहरू प्रयोग गर्ने छौं |
00:21 | यो ट्युटोरियल रेकर्ड गर्न, म प्रयोग गर्दै छु : उबुन्टु लिनक्स १६. ०४ अपरेटिंग सिस्टम र
gedit टेक्स्ट एडिटर ३. २०.१ |
00:34 | तपाई आफ्नो रोजाइको कुनै पनि टेक्स्ट एडिटर प्रयोग गर्न सक्नुहुन्छ |
00:38 | यो ट्युटोरियल अभ्यास गर्न, तपाईले यो वेबसाइटका अघिल्ला awk ट्युटोरियलहरू हेर्नुपर्ने हुन्छ |
00:45 | तपाईसँग प्रोग्रामिङ्ग ल्याङ्ग्वेजहरू जस्तै C वा C++ को ज्ञान हुनुपर्छ |
00:52 | यदि छैन भने, यो वेबसाइटमा रहेको सम्बन्धित ट्युटोरियलहरू हेर्नुहोला |
00:58 | यो ट्युटोरियलमा प्रयोग गरिएका फाइलहरू यो ट्युटोरियल पेजको Code Files लिंकमा उपलब्ध छ
कृपया तिनीहरूलाई डाउनलोड गरी एक्सट्रयाक्ट गर्नुहोला |
01:08 | अब, user defined फंक्सनहरू को बारेमा बुझौं
फंक्सन को सिन्ट्याक्स यस्तो छ |
01:16 | र सिन्ट्याक्स आफैँ बुझिने छ |
01:20 | यहाँ, किवर्ड function हुनैपर्छ |
01:24 | एउटा फंक्सन कल गर्न, फंक्सन को नाम अनि ब्राकेटमा यसको आर्गुमेंटहरू दिनुपर्छ |
01:31 | याद गरौं : फंक्सन को नाम र आर्गुमेंट को खुल्ने ब्राकेट बीचमा स्पेस हुनु हुँदैन |
01:39 | अब, एउटा उदाहरण हेरौं |
01:42 | हाम्रो awkdemo.txt file को छैठौँ फिल्ड ले भत्ता जनाउँछ |
01:47 | मानौं, भत्ता कि शून्य हुन्छ वा यसमा चार डिजिट हरू हुन्छन् |
01:54 | मानौं, भत्ता 8900 छ
यसलाई शब्दमा 8 thousand 9 hundred भनेर प्रिन्ट गरौँ |
02:03 | यदि भत्ता 0 भए यसलाई शब्दमा zero प्रिन्ट गरौं |
02:08 | मैले पहिले नै user_function.awk फाइलमा कोड लेखेकी छु |
02:15 | यहाँ, एउटा आर्गुमेंट 'argval' सहितको changeit फंक्सन लेखेकी छु |
02:23 | यहाँ, argval हाम्रो छैठौँ फिल्ड मतलब भत्ता हो |
02:29 | फंक्सन भित्रको पहिलो कोडले argval को मान शून्य छ कि जाँच्ने छ |
02:36 | यदि यो सहि भएमा, यसले “Zero” प्रिन्ट गर्ने छ |
02:40 | अन्यथा, कोडको else खण्ड एक्जिक्युट हुने छ |
02:46 | else खण्डमा, पहिले हामी substring फंक्सन प्रयोग गरी प्रत्येक डिजिट एक्सट्रयाक्ट गर्ने छौं |
02:54 | अनि, हामी यी मानहरू अरे a को विभिन्न इन्डेक्सहरूमा भण्डार गर्ने छौं |
03:00 | उदाहरणको लागि - a[1] ले बायाँपट्टिको पहिलो डिजिट दिन्छ |
03:08 | हामीसँग चारवटा मात्र डिजिटहरू भएकोले, चारवटा मात्र इन्डेक्सहरू छन् |
03:13 | अब, हामी एलिमेंटहरू बराबर शून्य छ कि जाँच्ने छौं
र तिनीहरूलाई सहि क्रममा प्रिन्ट गर्ने छौं |
03:21 | अन्त्यमा, आउटपुटमा नयाँ लाइन ब्रेक को लागि हामी एउटा ब्याकस्ल्याश n क्यारेक्टर प्रिन्ट गर्ने छौँ |
03:28 | अनि, awk स्क्रिप्ट मा हामीले डलर 2 प्रिन्ट गरेका छौं जुन दोस्रो फिल्ड मतलब name हो |
03:35 | अनि हामी प्यारामिटर डलर 6 सहित को फंक्सन changeit कल गर्ने छौं, जुन स्टाइपण्ड हो
अब, फाइल एक्जिक्युट गरौं |
03:43 | टर्मिनल मा जाऊ
अब, cd कमाण्ड प्रयोग गरी हामीले फाइल डाउनलोड गरेको फोल्डरमा जाऊ |
03:53 | अब, तलको कमाण्ड टाइप गरौं र एन्टर थिचौं |
04:00 | हामीले सोचेको जस्तै आउटपुट प्राप्त गर्छौं |
04:03 | एउटा user-defined फंक्सन मा एउटा return स्टेटमेन्ट पनि हुन सक्छ |
04:08 | यो स्टेटमेन्टले कन्ट्रोल कल गर्ने awk प्रोग्राम मा पुर्याउँछ |
04:13 | यो awk प्रोग्राम मा अन्यत्र प्रयोग गर्ने मान प्राप्त गर्न पनि प्रयोग गर्न सकिन्छ |
04:20 | यो यस्तो देखिन्छ : return स्पेस एक्सप्रेसन
यहाँ, एक्सप्रेसन वैकल्पिक हुन्छ |
04:29 | अब, एउटा अरे को औसत मान दिने फंक्सन लेखौं |
04:34 | मैले कोड average.awk मा लेखेकी छु
यसको सामग्रीहरू हेरौं |
04:41 | यसको लागि हामीले एउटा avg नामक फंक्सन परिभाषित गरेका छौं |
04:46 | यसमा पाँच प्यारामिटरहरू रहेका छन्
arr औसत हिसाब गर्नुपर्ने अरे हो |
04:55 | i एउटा अरे लूप नाम भेरिएबल हो |
04:58 | sum सम्पूर्ण अरे एलिमेंटहरू को योगफल हो |
05:03 | n ले अरे भित्रको एलिमेंटहरू को संख्या जनाउँछ |
05:07 | ret ले avg फंक्सनले दिएको मान जनाउँछ
ret ले हिसाब गरेको औसत मान भण्डार गर्छ |
05:17 | i अगाडीको थप स्पेसले भेरिएबलहरू i, sum, n र ret लोकल भेरिएबलहरू भएको जनाउँछ |
05:27 | वास्तबमा, लोकल भेरिएबलहरू आर्गुमेंटहरू को लागि होइन |
05:32 | तपाईले फंक्सनहरू परिभाषित गर्दा यो नियम अपनाउनु पर्छ |
05:36 | for लूप भित्र हामीले जम्मा नम्बर र अरे एलिमेंटहरू को योगफल हिसाब गरेका छौं |
05:43 | हामीले औसत हिसाब गर्न योगफललाई जम्मा एलिमेंटहरू को संख्याले भाग गरेका छौं
र यो मानलाई भेरिएबल ret मा भण्डार गरेका छौं |
05:54 | यो फंक्सन avg() ले भेरिएबल ret को मान दिने छ |
06:01 | BEGIN सेक्सन भित्र, हामीले ५ भिन्न नम्बरहरू सहितको एउटा अरे nums परिभाषित गरेका छौं |
06:07 | print स्टेटमेन्ट मा, हामी फंक्सन avg() मा एउटा आर्गुमेंट दिएर कल गर्छौं , जुन अरे को नाम हो |
06:14 | त्यसैले, लोकल भेरिएबलहरू लाई आर्गुमेंट को रूपमा प्रयोग गर्नु पर्दैन |
06:20 | टर्मिनलमा फर्कौं, म टर्मिनल क्लियर गर्ने छु |
06:26 | तलको कमाण्ड टाइप गरौं - awk स्पेस हाइफन f स्पेस average डट awk
एन्टर थिचौं |
06:37 | हामी आउटपुटमा 3.6 प्राप्त गर्छौं
हामी यो पुष्टि गर्न एउटा क्यालकुलेटर प्रयोग गर्न सक्छौं |
06:44 | एउटा थप उदाहरण हेरौं |
06:47 | मैले एउटा स्ट्रिंग उल्टो दिने एउटा फंक्सन लेखेकी छु र यसको नाम reverse.awk रहेको छ
एउटा स्ट्रिंग उल्टो पार्न recursive फंक्सन प्रयोग गरिन्छ |
06:57 | यहाँ, भिडियो रोकौं र कोडको कन्ट्रोल को बहाव बुझौं
अनि, आउटपुट हेर्न यसलाई एक्जिक्युट गरौं |
07:07 | कार्यको रूपमा, फंक्सन rev प्रयोग गरी awkdemo.txt फाइल को रोल नम्बर फिल्ड उल्टो पार्नुहोस् |
07:16 | उदाहरणको लागि, यदि रोल नम्बर A001 भएमा आउटपुट 100A हुनुपर्छ |
07:24 | Code Files लिंकमा सोहि कोड reverse_roll.awk मा उपलब्ध छ |
07:31 | यसरी हामी यो ट्युटोरियलको अन्त्यमा आएका छौं
संक्षेपमा हेरौं |
07:36 | यो ट्युटोरियलमा हामीले यी कुराहरू सिक्यौं -
फंक्सन परिभाषित गर्ने सिन्ट्याक्स , |
07:41 | फंक्सन कल र
Return स्टेटमेन्ट |
07:45 | कार्यको रूपमा -
१. एउटा 2D म्याट्रिक्स को ट्रांस्पोज दिने एउटा फंक्सन लेख्नुहोस् |
07:52 | २. एउटा अरे को एलिमेंट मध्ये सबैभन्दा सानो मान दिने एउटा फंक्सन लेख्नुहोस् |
07:58 | तलको लिङ्कमा उपलब्ध भिडियोले स्पोकन ट्युटोरियल प्रोजेक्टको सार दिन्छ
कृपया यसलाई डाउनलोड गरी हेर्नुहोला |
08:06 | स्पोकन ट्युटोरियल प्रोजेक्ट टिमले स्पोकन ट्युटोरियलहरू प्रयोग गरी कार्यशालाहरू सन्चालन गर्छ
र अनलाइन टेस्ट पास गर्नेलाई प्रमाणपत्र प्रदान गर्छ |
08:16 | विस्तृत जानकारीको लागि हामीलाई सम्पर्क गर्नुहोस् |
08:20 | कृपया, जिज्ञासा रहेको स्थानको समय सहित यो फोरममा पोस्ट गर्नुहोला |
08:24 | स्पोकन ट्युटोरियल प्रोजेक्टलाई NMEICT, MHRD, भारत सरकारको अनुदान रहेको छ
यो मिसन सम्बन्धि थप जानकारी तलको लिंकमा उपलब्ध छ |
08:36 | आइआइटि बम्बेको तर्फबाट म मन्दिरा बिदा हुँदै छु, सहभागिताको लागि धन्यवाद, नमस्कार |