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

From Script | Spoken-Tutorial
Revision as of 22:28, 22 August 2019 by NaveenBhat (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 पाठस्यास्य रेकोर्ड्-करणेऽहम्  :

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 पाठस्यास्य अनुवादकः प्रवाचकश्च श्री नवीनभट्टः उप्पिनपट्टणम् । धन्यवादाः ।

Contributors and Content Editors

NaveenBhat, Sandhya.np14