Linux-AWK/C2/User-Defined-Functions-in-awk/Marathi
|
|
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 che नाव आणि 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 | या स्क्रिप्टचे योगदान अंतराने केले आहे.
आय.आय.टी. बॉम्बे तर्फे मी रंजना उके आपली रजा घेते. सहभागासाठी धन्यवाद. |