Linux-AWK/C2/User-Defined-Functions-in-awk/Sanskrit
|
|
00:01 | User-defined functions in awk इति पाठार्थं भवद्भ्यः स्वागतम् । |
00:07 | पाठेऽस्मिन् वयम् –
'फङ्क्षन्' व्याख्यानस्य सिण्टेक्स्, 'फङ्क्षन् काल्' अपि च Return स्टेट्मेण्ट् इत्येतेषां विषयान् ज्ञास्यामः । |
00:17 | कैश्चन उदाहरणैः सहेदं कुर्मः । |
00:21 | पाठस्यास्य रेकोर्ड्-करणेऽहम् :
Ubuntu Linux 16.04 ओपरेटिङ्ग् सिस्टम् अपि च gedit टेक्स्ट् एडिटर् 3.20.1 इतीमे उपयुनज्मि । |
00:34 | भवतामभीष्टानुसारेण यत्किमपि टेक्स्ट्-एडिटर् उपयोक्तुमर्हन्ति भवन्तः । |
00:38 | पाठस्यास्य अभ्यासात् पूर्वम्, अस्माकं जालपुटस्थं पूर्वतन awk ट्युटोरियल्स् भवद्भिः दृष्टाः स्युः । |
00:45 | भवद्भ्यः C अथवा C++ सदृशानां प्रोग्रामिङ्ग्-भाषाज्ञानम् आवश्यकम् । |
00:52 | नास्ति चेत्, अस्माकं जालपुटे तत्सम्बद्धपाठानवलोकयन्तु । |
00:58 | अत्रोपयुक्ताः सञ्चिकाः, अस्मिन्नेव पुटे Code Files पर्चन्याम् उपलभ्यन्ते ।
कृपया ताः अवचित्य extract कुर्वन्तु । |
01:08 | वयमधुना, 'यूसर् डेफ़ैण्ड् फ़ङ्क्षन्स्' (user defined functions) विषयं ज्ञास्यामः ।
function इत्यस्य सीन्टेक्स् एवमस्ति । |
01:16 | अपि च सिण्टेक्स्, स्वयमेव स्वविवरणं ददाति । |
01:20 | अत्र, function इति कीवर्ड् अनिवार्यमस्ति । |
01:24 | एकस्य फङ्क्षन्-इत्यस्य काल्-करणाय, फ़ङ्क्षन् नाम लिखित्वा, पश्चात् आवरणे(parentheses) आर्ग्युमेण्ट्स् लिखन्तु । |
01:31 | अवलोक्यतां यत् : 'फङ्क्षन्' इत्यस्य नाम अपि च 'आर्ग्युमेण्ट्' इत्यस्य ओपण्ड् ब्रेकेट् मध्ये 'स्पेस्' न स्यात् । |
01:39 | वयमधुना एकमुदाहरणं पश्याम । |
01:42 | अस्माकम् awkdemo.txt सञ्चिकायाम्, षष्ठं फ़ील्ड् stipend इत्यस्ति । |
01:47 | 'स्टैपण्ड्', शून्यमस्ति अथवा चत्वारान् अङ्कान् प्राप्तवदस्तीति कल्पयन्तु । |
01:54 | अधुना, 'स्टैपण्ड्' 8900 अस्तीति वदाम ।
इदं वर्णैः 8 thousand 9 hundred इति मुद्रापयन्तु । |
02:03 | 'स्टैपण्ड्' 0 (शून्यम्) अस्ति चेत्, “zero”ऐति मुद्रापयन्तु । |
02:08 | user_function.awk इति सञ्चिकायां अहं कोड् लिखितवानस्मि । |
02:15 | अत्राहं, changeit ( चेञ्ज् इट्) इति 'फङ्क्षन्' लिखितवानस्मि । इदम् 'argval' ( ए आर् जि वेल्) इत्येकम् आर्ग्युमेण्ट् प्राप्तवदस्ति । |
02:23 | अत्र, argval वस्तुतः 'स्टैपण्ड्' इत्यस्माकं षष्ठं फील्ड् वर्तते । |
02:29 | 'फङ्क्षन्' इत्यस्यान्तः, प्रथमं कोड् argval शून्यमस्ति वा नवेति परीक्षते । |
02:36 | सत्यमस्ति चेत्तत् “Zero” इति मुद्रापयति । |
02:40 | नास्ति चेत्, कोड् इत्यस्य else भागम् एक्सिक्यूट् करोति । |
02:46 | else विभागे, आदौ substring फङ्क्षन् उपयुज्य, प्रत्येकम् अङ्कम् एकैकशः extract कुर्मः । |
02:54 | अपि च मूल्यम् a इति अरे-मध्ये, नाना इण्डेक्स्-इत्येतेषु स्टोर् कुर्मः । |
03:00 | तद्यथा- a[1] वामतः प्रथमम् अङ्कम् अथवा सहस्रस्थानस्य अङ्कम् ददाति । |
03:08 | अत्र केवलं चत्वारः अङ्काः सन्तीत्यतः अहं चत्वारि इण्डेक्स् उपयुक्तवान् अस्मि । |
03:13 | पश्चात्, एलिमेण्ट्स् शून्याय समानि सन्ति वा इति परीक्षामहे ।
अपि च तान् सम्यक् क्रमे मुद्रापयाम । |
03:21 | अन्ते फलिते नूतनं 'लैन् ब्रेक्' दातुं , वयं 'बेक्-स्लेश्-एन्' केरेक्टर् मुद्रापयामः । |
03:28 | पश्चात्, awk स्क्रिप्ट्-इत्यस्यान्तः, वयं 'डोलर् 2' इतीदं मुद्रापितवन्तः । तत् द्वितीयं फील्ड् अर्थात् name वर्तते । |
03:35 | पश्चात्, 'डोलर् 6' पेरामीटर् इत्यनेन सह, changeit फङ्क्षन् इतीदं काल् कुर्मः । ' डोलर् 6', stipend वर्तते ।
सञ्चिकाम् एक्सिक्यूट् कुर्मः । |
03:43 | 'टर्मिनल्' आगत्य ,
cd कमाण्ड् उपयुज्य, भवन्तः सञ्चिकाम् अवचित्य extract कृतं फोल्डर् प्रति गच्छन्तु । |
03:53 | अधस्तन कमाण्ड् टङ्कयित्वा Enter नुदन्तु । |
04:00 | अपेक्षितं फ़लितम् प्राप्यते । |
04:03 | 'युसर् डिफैण्ड् पङ्क्षन्' इतीदं, return स्टेट्मेण्ट्-युतं स्यात् । |
04:08 | इदं स्टेट्मेण्ट्, awk प्रोग्राम् इत्यस्य कोल्-क्रियमाणं विभागं प्रति, कण्ट्रोल् प्रेशयति । |
04:13 | अतिरिक्तस्य awk प्रोग्राम् इत्यस्य विनियोगाय, मूल्यं प्रेशयितुम् अपि इदं उपयोक्तुमर्हति । |
04:20 | इदम् एवं दृश्यते return space expression.
अत्र, एक्स्प्रेश्शन् (expression) विभागः ऐच्छिकः वर्तते । |
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 | प्रिण्ट् स्टेट्मेण्ट् मध्ये, अरे नाम 'आर्ग्युमेण्ट्' कृत्वा, फङ्क्षन् avg() इतीदं कोल् कुर्मः । |
06:14 | अतः, भवन्तः लोकल् वेरियेबल् इतीमानि, आर्ग्युमेण्ट्-रूपेण पास् कुर्युः इति नास्ति । |
06:20 | 'टर्मिनल्' आगत्य , तं रिक्तं करोमि । |
06:26 | अधस्तन कमाण्ड् टङ्कयन्तु ।
awk space hyphen f space average dot awk. Enter नुदन्तु । |
06:37 | वयं 3.6 इति फलितं प्राप्तवन्तः ।
केल्क्युलेटर् उपयुज्य तत् कर्तुमर्हन्ति भवन्तः । |
06:44 | अन्यमेकम् उदाहरणं पश्याम । |
06:47 | 'स्ट्रिङ्ग्' इतीदं रेवर्स्-कर्तुं , कोड् लिखितवन्तः । तस्मै reverse.awk इति नाम दत्तवन्तः ।
स्ट्रिङ्ग् रिवर्स् कर्तुं, 'रिकर्सिव् फङ्क्षन्' उपयुज्यते । |
06:57 | चलच्चित्राय विरामं दत्वा कण्ट्रोल् इत्यस्य गतिं दृष्टुं कोड् पश्यन्तु ।
पश्चात् औट्पुट् दृष्टुं एक्सिक्यूट् कुर्वन्तु । |
07:07 | एकं पाठनियोजनम् - awkdemo.txt सञ्चिकायां, Roll number फील्ड् इतीदं रिवर्स् कर्तुं rev() फङ्क्षन् उपयुज्यताम् । |
07:16 | तद्यथा, रोल् नम्बर् A001 अस्ति चेत्, फलितं 100A भवेत् । |
07:24 | तदर्थं कोड् इतीदं, Code Files लिङ्क् मध्ये, reverse_roll.awk इति दत्तमस्ति । |
07:31 | एवं वयं पाठान्तमागतवन्तः ।
सङ्क्षेपेण, |
07:36 | पाठेऽस्मिन् वयम् -
'फङ्क्षन्' व्याख्यानस्य सिण्टेक्स्, |
07:41 | 'फङ्क्षन् कोल्' अपि च
Return स्टेट्मेण्ट्, इतीमानि ज्ञातवन्तः । |
07:45 | एकं पाठनियोजनम् -
transpose of a 2D matrix रचयितुम्, एकं फङ्क्षन् लिखन्तु । |
07:52 | एकस्मात् अरे इत्यस्मात् minimum value element रिटर्न् कर्तुम् एकं फङ्क्षन् लिखन्तु । |
07:58 | पर्चन्याम् विद्यमानं विडियो, “spoken tutorial” प्रकल्पस्य सारं दर्शयति । तदवचित्य पश्यन्तु । |
08:06 | “spoken tutorial” प्रकल्पगणः, इमान् पाठान् उपयुज्य कार्यशालां चालयति । उत्तीर्णेभ्यः प्रमाणपत्रं ददाति । |
08:16 | अधिकविवरणार्थम् अस्मभ्यं लिखन्तु । |
08:20 | भवतां प्रश्नान् मिनिट् सेकेण्ड् इत्यनयोः सह फोरं मध्ये लिखन्तु । |
08:24 | "Spoken Tutorial" प्रकल्पः, NMEICT, MHRD द्वारा भारतसर्वकारस्य अनुदानं प्राप्तवान् अस्ति । अधिकविवरणं अस्यां पर्चन्याम् उपलभ्यते । |
08:36 | पाठस्यास्य अनुवादकः प्रवाचकश्च श्री नवीनभट्टः उप्पिनपट्टणम् । धन्यवादाः । |