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

From Script | Spoken-Tutorial
Jump to: navigation, search
Time
Narration
00:01 नमस्कार awk मध्ये User-defined function वरील या स्पोकन ट्युटोरिअलमध्ये आपले स्वागत.
00:07 या ट्युटोरिअलमध्ये आपण शिकणार आहोत- function definition चे सिंटॅक्स

Function call आणि Return statement

00:17 आपण हे काही उदाहरणांद्वारे करू.
00:21 हे ट्युटोरिअल रेकॉर्ड करण्यासाठी, मी वापरत आहे Ubuntu Linux 16.04 Operating System आणि gedit text editor 3.20.1
00:34 तुम्ही तुमच्या पसंतीचा कोणताही टेक्स्ट एडिटर वापरू शकता.
00:38 या ट्युटोरियलचा अभ्यास करण्यासाठी, तुम्ही आपल्या वेबसाईटवरील पूर्वीचे awk ट्युटोरिअल्स पहा.
00:45 तुम्हाला C किंवा C++ सारखे कोणत्याही सामान्य प्रोग्रामिंग लँग्वेजचे काही मूलभूत ज्ञान असावे .
00:52 नसल्यास, कृपया आपल्या वेबसाईटवरील संबंधित ट्युटोरिअल्स पहा.
00:58 या ट्युटोरियलमध्ये वापरल्या गेलेल्या फाईल्स या ट्यूटोरियल पेजवरील Code Files लिंकमध्ये उपलब्ध आहेत. कृपया ते डाउनलोड करून एक्सट्रॅक्ट करा.
01:08 आता आपण user defined functions बद्दल शिकू.

खालीलप्रमाणे function चे सिंटॅक्स आहे.

01:16 आणि सिंटॅक्स स्व-स्पष्टीकरणात्मक आहे.
01:20 येथे keyword function अनिवार्य आहे.
01:24 function ला call करण्यासाठी, कंसात arguments नंतर function चे नाव लिहा.
01:31 नोंद घ्या: argument चे function चे नाव आणि open parentheses च्या दरम्यान space ची परवानगी नाही.
01:39 आता आपण एक उदाहरण पाहू.
01:42 आपल्या awkdemo.txt file मध्ये, सहवा field stipend प्रस्तुत करते.
01:47 असे मानूया कि stipend एकतर शून्य किंवा चार digits ने बनलेला आहे.
01:54 समजा, stipend 8900 आहे.

शब्दांमध्ये 8 हजार 9 शे म्हणून ते प्रिंट करा.

02:03 जर शिष्यवृत्ती 0 असल्यास, शब्दांमध्ये शुन्य म्हणून टाईप करा.
02:08 मी आधीच user_function.awk नावाच्या फाइलमध्ये कोड लिहिला आहे.
02:15 येथे मी एकल argument argval सह changeit नावाचे function लिहिले आहे.
02:23 येथे argval मूलतः आपली सहावी field जी stipend आहे.
02:29 function च्या आत, प्रथम कोड तपासेल कि argval हे zero आहे कि नाही .
02:36 जर होय, तर ते शब्दांत “Zero” प्रिंट करेल.
02:40 नसल्यास, नंतर कोडचा else भाग कार्यान्वित केला जाईल.
02:46 else भागात, प्रथम substring function वापरून एक एक करून प्रत्येक अंक एक्सट्रॅक्ट(काढू) करू.
02:54 आणि आपण व्हॅल्यूज array a मध्ये वेगळ्या indices मध्ये संग्रहित करू.
03:00 उदाहरणार्थ, a[1] डाव्या बाजूपासून digit किंवा thousand’s place digit देईल.
03:08 आपल्याकडे केवळ चार digits आहेत, म्हणून मी चार इंडायसेस(निर्देशांक) वापरले आहेत.
03:13 पुढे, आपण elements शून्य च्या बरोबर नसले की हे तपासू.

आणि त्यांना योग्य क्रमाने प्रिंट करू.

03:21 शेवटी, आउटपुटमध्ये एक नवीन line break देण्यासाठी आपण backslash n केरॅक्टर(अक्षर) प्रिंट करतो.
03:28 नंतर awk script च्या आत, dollar 2 प्रिंट केले आहे, जे दुसरे field म्हणजे name आहे.
03:35 नंतर आपण parameter dollar 6 सह function changeit कॉल करू, जो stipend आहे. आपण फाईल कार्यान्वित करू.
03:43 टर्मिनल वर जाऊ.

नंतर त्या फोल्डर वर जा जेथे तुम्ही cd कमांड वापरून फाईल डाउनलोड करून एक्सट्रॅक्ट केलेल्या आहेत.

03:53 आता खालील कमांड टाईप करा आणि Enter दाबा.
04:00 आपल्याला अपेक्षित आउटपुट मिळेल.
04:03 user-defined function मध्ये return statement चा देखील समावेश असू शकतो.
04:08 हे statement awk program च्या भागावर calling करण्यासाठी control परत करतो.
04:13 उर्वरित awk program मधील वापरासाठी व्हॅल्यू परत देण्यासाठी याचा वापर केला जाऊ शकतो.
04:20 हे असे दिसते: return space expression

येथे expression चा भाग वैकल्पिक आहे.

04:29 आता array चा average परत करण्यासाठी function लिहू.
04:34 मी average.awk फाईल मध्ये कोड लिहिले आहे.

आता कन्टेन्टस पाहू.

04:41 या उद्देशासाठी आपण function named avg परिभाषित केले आहे.
04:46 त्यात पाच parameters आहेत.

arr हे array आहे ज्यासाठी average ची गणना करायची आहे.

04:55 i हे array loop variable आहे.
04:58 sum हे सर्व array elements चे सम्मेशन (सारांश) आहे.
05:03 n array मधील elements ची संख्या दर्शवते.
05:07 ret function avg मधून variable परत करण्यासाठी प्रतिनिधित्व करते.

ret गणना केलेल्या average संग्रहित करेल.

05:17 i च्या पूर्वी अतिरिक्त जागा सूचित करते की variables i, sum, n आणि ret local variables आहेत.
05:27 प्रत्यक्षात, local variables ला arguments बनवण्याचा हेतू नाही.
05:32 functions परिभाषित करताना आपण या संमेलनाचे अनुसरण केले पाहिजे.
05:36 for loop च्या आत, आपण array elements चे एकूण संख्या आणि सम्मेशनची (बेरीज)गणना केली आहे.
05:43 आपण elements च्या एकूण संख्येसह सम्मेशन विभाजित करून average ची गणना केली आहे.

आणि ते व्हॅल्यू variable ret मध्ये संग्रहित केले आहे.

05:54 हे function avg() variable ret चे व्हॅल्यू परत करते.
06:01 BEGIN section च्या आत, आपण 5 वेगवेगळ्या संख्येसह array nums परिभाषित केले आहे.
06:07 print statement मध्ये, आपण एका argument सह function avg() कॉल करू, जे array name आहे.
06:14 म्हणून, आपल्याला local variables ला arguments म्हणून पास करण्याची आवश्यकता नाही.
06:20 टर्मिनल वर परत जा. मी टर्मिनल क्लिअर करते.
06:26 खालील कमांड टाईप करा- awk space hyphen f space average dot awk

Enter दाबा.

06:37 आपल्याला आउटपुट 3.6 असे मिळते.

कॅल्क्युलेटर वापरुन तुम्ही ते प्रमाणित करू शकता.

06:44 आपण आणखी एक उदाहरण पाहू.
06:47 मी string ला reverse करण्यासाठी एक कोड लिहिले आहे आणि त्यास reverse.awk असे नाव दिले आहे.

recursive function हे string ला reverse करण्यासाठी वापरले जाते.

06:57 येथे व्हिडिओ थांबवा आणि फ्लो नियंत्रित कसे करणे हे समजून घेण्यासाठी कोडला पहा.

नंतर आउटपुट पाहण्यासाठी ते कार्यान्वित करा.

07:07 असाइन्मेंट म्हणून, awkdemo.txt file मध्ये Roll number field reverse करण्यासाठी function rev वापरा.
07:16 उदाहरणार्थ, रोल नंबर A001 असल्यास, आउटपुट 100A असावा.
07:24 त्या साठी कोड Code Files लिंकमध्ये reverse_roll.awk म्हणून दिले आहे.
07:31 आपण या ट्युटोरिअलच्या अंतिम टप्प्यात पोहोचलो आहोत.

थोडक्यात.

07:36 या ट्युटोरिअलमध्ये आपण शिकलो- function definition चा सिंटॅक्स.
07:41 Function call आणि Return statement
07:45 असाइन्मेंट म्हणून - 2D matrix चा transpose तयार करण्यासाठी एक function लिहा.
07:52 एका array मधून element ची किमान व्हॅल्यू return करण्यासाठी एक फंक्शन लिहा.
07:58 खालील लिंकवरील व्हिडिओ 'स्पोकन ट्युटोरियल' प्रोजेक्टचा सारांश देते. कृपया ते डाउनलोड करून पहा.
08:06 स्पोकन ट्युटोरियलच्या सहाय्याने कार्यशाळा चालविते.

परीक्षा उत्तीर्ण होणा-या विद्यार्थ्यांना प्रमाणपत्रही दिले जाते.

08:16 अधिक माहितीसाठी कृपया आम्हाला लिहा.
08:20 कृपया या फोरममध्ये आपली कालबद्ध प्रश्न पोस्ट करा.
08:24 "स्पोकन ट्युटोरियल प्रॉजेक्ट" ला अर्थसहाय्य National Mission on Education through ICT, MHRD, Government of India यांच्याकडून मिळालेले आहे.

या मिशनवरील अधिक माहिती या लिंकवर उपलब्ध आहे.

08:36 या स्क्रिप्टचे योगदान अंतराने केले आहे.

आय.आय.टी. बॉम्बे तर्फे मी रंजना उके आपली रजा घेते. सहभागासाठी धन्यवाद.

Contributors and Content Editors

Ranjana