Linux-AWK/C2/User-Defined-Functions-in-awk/Nepali

From Script | Spoken-Tutorial
Revision as of 05:19, 18 July 2019 by Mandira (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time
Narration
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 आइआइटि बम्बेको तर्फबाट म मन्दिरा बिदा हुँदै छु, सहभागिताको लागि धन्यवाद, नमस्कार

Contributors and Content Editors

Mandira