PERL/C3/Access-Modifiers-in-PERL/Hindi

From Script | Spoken-Tutorial
Revision as of 15:29, 2 February 2016 by Shruti arya (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time
Narration
00:01 'Access Modifiers in PERL' पर स्पोकन ट्यूटोरियल में आपका स्वागत है।
00:07 इस ट्यूटोरियल में हम निम्न के बारे में सीखेंगे:
  • स्कोप ऑफ़ वेरिएबल्स
  • 'Private' वेरिएबल्स
  • 'Dynamically scoped' वेरिएबल्स
  • 'Global' वेरिएबल्स
00:19 इस ट्यूटोरियल के लिए मैं उपयोग कर रही हूँ:
  • 'उबन्टु लिनक्स 12.04' ऑपरेटिंग सिस्टम
  • 'Perl 5.14.2' और
  • 'gedit' टेक्स्ट एडिटर
00:32 आप अपनी पसंद का कोई भी टेक्स्ट एडिटर उपयोग कर सकते हैं।
00:36 आपको 'Perl' प्रोग्रामिंग का बुनियादी ज्ञान होना चाहिए।
00:40 यदि नहीं तो स्पोकन ट्यूटोरियल वेबसाइट पर सम्बंधित 'Perl' स्पोकन ट्यूटोरियल्स को देखें।
00:47 अब 'वेरिएबल्स के स्कोप' के परिचय से शुरू करते हैं।
00:51 वेरिएबल का स्कोप कोड का वो क्षेत्र है जिसमें वेरिएबल एक्सेस किया जा सकता है।
00:58 दूसरे शब्दों में, यह वेरिएबल्स की प्रत्यक्षता को दिखाता है।
01:03 पहले, हम 'Perl' में 'my', 'local' और 'our' मॉडिफायर्स के बारे में चर्चा करेंगे।
01:10 'my' का मतलब है 'Private variables',
01:13 'local' का मतलब है 'Dynamically scoped variables',
01:17 'our' का मतलब है 'Global variables'.
01:20 'my' कीवर्ड के साथ घोषित हुए वेरिएबल्स उस 'ब्लॉक' के बाहर स्कोप खो देंगे जिसमें वो घोषित हुए हैं।
01:28 आप एक वेरिएबल को वैल्यू दिए बिना घोषित कर सकते हैं, जैसे

'my $fvalue सेमीकोलन'

01:37 आप एक वेरिएबल को वैल्यू असाइन करके भी घोषित कर सकते हैं, जैसे
01:43 'my $fValue = 1 सेमीकोलन'
01:48 'my $fname' = डबल कोट्स में 'Rahul' सेमीकोलन
01:55 समान 'my' स्टेटमेंट के साथ अनेक वेरिएबल्स को घोषित करने के लिए सिंटैक्स निम्न प्रकार है:
02:02 'my' ब्रैकेट खोलें '$fname' कॉमा '$lname' कॉमा '$age' ब्रैकेट बंद करें सेमीकोलन
02:12 अब एक सैंपल प्रोग्राम प्रयोग करके 'private' वेरिएबल्स को समझते हैं।
02:17 मेरे पास पहले से सैंपल प्रोग्राम है। मैं इसे 'gedit' टेक्स्ट एडिटर में खोलती हूँ।
02:24 'टर्मिनल' खोलें और टाइप करें: 'gedit scope हाइफन my डॉट pl ampersand' और एंटर दबाएं।
02:34 'Scope-my dot pl' फाइल अब 'gedit' में खुलती है।
02:39 स्क्रीन पर प्रदर्शित की तरह निम्नलिखित कोड टाइप करें। अब मैं कोड समझाती हूँ।
02:46 यहाँ, मैंने 'my' कीवर्ड के साथ एक 'private' वेरिएबल '$fname' घोषित किया है।
02:52 और इसे वैल्यू 'Raghu' असाइन की है।
02:56 इस ब्लॉक में, 'print' स्टेटमेंट 'fname' वेरिएबल जोकि 'Raghu' है उसमें वैल्यू प्रिंट करता है।
03:04 अगले ब्लॉक में, मैंने उसी 'private' वेरिएबल '$fname' को 'Other' वैल्यू असाइन की है।
03:11 अतः, 'प्रिंट स्टेटमेंट' इस विशेष ब्लॉक में 'Other' प्रिंट करेगा।
03:17 इस प्रोग्राम में आखिरी 'प्रिंट स्टेटमेंट' कोई आउटपुट प्रिंट नहीं करेगा।
03:23 ऐसा इसलिए है क्योंकि पहले परिभाषित ब्लॉक्स के स्कोप के बाहर, 'fname' को कोई वैल्यू असाइन नहीं है।
03:32 अब फाइल सेव करने के लिए 'Ctrl+S' दबाएं।
03:37 अब प्रोग्राम को निष्पादित करते हैं।
03:40 'टर्मिनल' पर वापस जाएँ और टाइप करें 'perl scope हाइफन my डॉट pl' और एंटर दबाएं।
03:49 आउटपुट निम्न की तरह दिखता है:

'Block 1: Raghu'

'Block 2: Other'

'Outside Block: ' कोई आउटपुट नहीं।

03:59 अतः, 'my' वेरिएबल का स्कोप केवल कोड के एक विशेष ब्लॉक में एक्सेस किया जाता है।
04:06 अब, मौजूदा प्रोग्राम को थोड़ा सा बदलते हैं।
04:10 अब आखिरी 'प्रिंट स्टेटमेंट' से पहले ब्लॉक्स के बाहर 'my $fname = डबल कोट्स में John सेमीकोलन' जोड़ते हैं। बदलावों को सेव करें।
04:23 'टर्मिनल' पर वापस जाएँ और पहले की तरह निष्पादित करें।
04:28 प्रदर्शित आउटपुट का विश्लेषण करें।
04:32 आशा है आप ब्लॉक में और ब्लॉक से बाहर 'my' वेरिएबल प्रयोग करने का स्कोप समझने में सक्षम हैं।
04:41 आगे, हम 'Perl' में 'dynamically scoped variable' के बारे में देखेंगे।
04:47 'Local' कीवर्ड 'global' वेरिएबल को एक अस्थाई स्कोप देता है।
04:52 वेरिएबल वास्तविक ब्लॉक से कॉल हुए किसी भी 'फंक्शन' के लिए दृश्यमान होता है।
04:58 आप निम्न की तरह 'local' वेरिएबल घोषित कर सकते हैं:

'local $fValue = 100 सेमीकोलन'

'local $fname' = डबल कोट्स में 'Rakesh' सेमीकोलन

05:13 अब एक सैंपल प्रोग्राम प्रयोग करके इसे समझते हैं।
05:17 'टर्मिनल' खोलें और टाइप करें: 'gedit scope हाइफन local डॉट pl ampersand' और एंटर दबाएं।
05:27 यह 'gedit' में 'scope हाइफन local डॉट pl' फाइल खोलेगा।
05:33 स्कीन पर प्रदर्शित की तरह निम्न कोड टाइप करें। अब मैं कोड समझाती हूँ।
05:40 यहाँ, पहली लाइन में, हमने एक वेरिएबल '$fname' घोषित किया है और इसे इनिशिअलाइज़ किया है।
05:47 फंक्शन 'Welcome()' में, हमने एक 'local' वेरिएबल उसी नाम '$fname' से घोषित किया है।
05:54 वेरिएबल के नाम से पहले 'local' कीवर्ड पर ध्यान दें
05:59 और हमने इस वेरिएबल को वैल्यू 'Rakesh' असाइन की है।
06:03 अतः, मूलतः, फंक्शन 'Welcome()' में, '$fname' एक नए अस्थायी 'लोकल' वेरिएबल की तरह रूपांतरित होता है।

फिर, फंक्शन 'Hello()' कॉल किया जा रहा है।

06:15 यहाँ 'Hello()' की फंक्शन परिभाषा है।
06:18 प्रोग्राम के अंत में, हम 'Welcome()' और 'Hello()' दोनों फंक्शन्स को कॉल कर रहे हैं।
06:25 अब प्रोग्राम को सेव करने के लिए 'Ctrl + S' दबाते हैं।
06:29 अब प्रोग्राम को निष्पादित करते हैं।
06:31 'टर्मिनल' पर वापस जाएँ और टाइप करें: 'perl scope हाइफन local.pl' और एंटर दबाएँ।
06:41 आउटपुट निम्न की तरह दिखता है।

'Hello, Rakesh!' 'Hello, Welcome to Spoken tutorials!'

06:48 अब आउटपुट को समझते हैं।
06:51 जब फंक्शन 'Welcome()' कॉल होता है, तो इसके अंदर फंक्शन 'Hello()' 'local' वेरिएबल को एक्सेस करता है।
06:59 'Welcome()' में, '$fname' वैल्यू 'Rakesh' रखता है।
07:04 इसके बाद फंक्शन 'Hello()' एक बार फिर वेरिएबल '$fname' को एक्सेस करता है।
07:11 लेकिन इस समय, यह वो वेरिएबल '$fname' है जो 'Welcome to spoken tutorials' को इनिशिअलाइज़ हुआ था।
07:19 यह फंक्शन 'Welcome()' में लोकल वेरिएबल '$fname' को एक्सेस नहीं करता है।
07:25 जिसका मतलब है कि ब्लॉक 'Welcome()' छोड़ने के बाद, लोकल वेरिएबल 'scope' को पुरानी स्थिति में वापस लाता है।
07:32 आगे, हम 'Perl' में 'ग्लोबल' वेरिएबल्स के बारे में सीखेंगे।
07:38 एक 'ग्लोबल वेरिएबल' प्रोग्राम में कहीं भी एक्सेस किया जा सकता है।
07:43 'ग्लोबल वेरिएबल्स' 'our' कीवर्ड के साथ घोषित होते हैं।
07:47 यहाँ कुछ उदाहरण हैं।

'our $fvalue = 100 सेमीकोलन' 'our $fname = डबल कोट्स में Priya सेमीकोलन'

08:01 अब, 'ग्लोबल' वेरिएबल्स का एक कार्यकारी उदाहरण देखते हैं।
08:06 'टर्मिनल' पर वापस जाएँ और टाइप करें: 'gedit scope हाइफन our डॉट pl ampersand' और एंटर दबाएं।
08:16 यह 'gedit' में 'scope हाइफन our डॉट pl' फाइल खोलेगा।
08:22 अब मैं वो सैंपल प्रोग्राम समझाती हूँ जो मैंने लिखा है।
08:27 मैंने 'package main' और 'our $i' की तरह एक 'ग्लोबल वेरिएबल' घोषित किया है और इसे '100' से इनिशिअलाइज़ किया है।
08:37 'package First' घोषणा पर ध्यान दें।
08:40 'package' कोड का संग्रह है जिसका खुद का 'namespace' होता है।
08:46 'Namespace' 'पैकेजेस' के बीच 'वेरिएबल नेम' कोलिजन (collision) यानि संघट्ट को बचाता है।
08:51 हम 'पैकेज' और 'namespace' के बारे में अधिक आगे के ट्यूटोरियल्स में देखेंगे।
08:56 'package First' में, ग्लोबल वेरिएबल 'i' वैल्यू 10 रखता है।
09:02 'package Second' में ग्लोबल वेरिएबल 'i' को वैल्यू 20 असाइन की जाती है।
09:08 मेन पैकेज 'package First variable' और 'package Second variable' दोनों को उपयोग करता है।
09:15 प्रोग्राम में, मैंने सारे 'पैकेजेस' में समान वेरिएबल 'i' घोषित किया है।
09:21 'पैकेज वेरिएबल' 'package name कोलन कोलन variable name' से उल्लिखित होता है।
09:29 हमारे उदाहरण में, यह '$First कोलन कोलन i, $Second कोलन कोलन i' है।
09:39 हमारे पास एक फाइल में विविध 'पैकेजेस' हैं और ग्लोबल वेरिएबल सारे 'पैकेजेस' से एक्सेस किये जायेंगे।
09:47 अब, फाइल को सेव करें और प्रोग्राम को निष्पादित करें।
09:51 अतः, 'टर्मिनल' पर जाएँ और टाइप करें: 'perl scope हाइफन our डॉट pl' और एंटर दबाएं।
09:59 'टर्मिनल' पर आउटपुट प्रदर्शित होता है।
10:03 'वेरिएबल i' का नियत कार्य कैसे किया गया था, यह समझने के लिए आप आउटपुट का अपने आप विश्लेषण करें
10:11 यह हमें इस ट्यूटोरियल के अंत में लाता है। इसे सारांशित करते हैं।
10:16 इस ट्यूटोरियल में, हमने निम्न करना सीखा: उदाहरणों के साथ
  • वेरिएबल्स का स्कोप
  • 'private variables' की घोषणा
  • 'dynamically scoped variables' और
  • 'global variables'
10:29 कम्पाइलेशन तेज़ी से करने के लिए 'लोकल' के बदलें 'my' उपयोग करने की सलाह दी जाती है।
10:35 यहाँ आपके लिए एक नियत कार्य है।
10:37 निम्न नियत कार्य के लिए कोड लिखें और इसे निष्पादित करें।
10:42 'FirstModule' की तरह एक 'पैकेज' की घोषणा करें।
10:46 एक वेरिएबल '$age' को 'our' की तरह घोषित करें और वैल्यू '42' असाइन करें।
10:52 'SecondModule' की तरह एक अन्य पैकेज घोषित करें।
10:56 एक वेरिएबल '$ageword' को 'our' की तरह घोषित करें और डबल कोट्स में "Forty-Two" वैल्यू असाइन करें।
11:05 एक सब-रूटीन 'First()' घोषित करें।
11:08 सब-रूटीन में, निम्न की तरह 'local' और 'my' कीवर्ड के साथ दो वेरिएबल्स घोषित करें:
11:16 'local' '$age = 52' सेमीकोलन
11:20 'my' '$ageword' = डबल कोट्स में Fifty-two सेमीकोलन
11:27 एक अन्य सब-रूटीन 'Result()' कॉल करें।
11:31 इस फंक्शन में '$age' और '$ageword' की वैल्यूज़ को प्रिंट करें।
11:37 सब-रूटीन का अंत करें।
11:39 सब-रूटीन 'Result()' को घोषित करें।
11:42 '$age' और '$ageword' की वैल्यूज़ को दोबारा प्रिंट करें।
11:47 सब-रूटीन का अंत करें।
11:49 फंक्शन 'First()' को कॉल करें।
11:51 नीचे की तरह 'Package First' और 'Package Second' को प्रिंट करें।
11:57 निम्न लिंक पर उपलब्ध वीडिओ स्पोकन ट्यूटोरियल प्रोजेक्ट को सारांशित करता है। कृपया इसे डाउनलोड करें और देखें।
12:05 स्पोकन ट्यूटोरियल प्रोजेक्ट टीम स्पोकन ट्यूटोरियल्स का उपयोग करके कार्यशालाएं चलाती है और ऑनलाइन टेस्ट पास करने वालों को प्रमाणपत्र देती है। अधिक जानकारी के लिए कृपया हमें लिखें।
12:18 स्पोकन ट्यूटोरियल प्रोजेक्ट भारत सरकार के एम एच आर डी के NMEICT द्वारा निधिबद्ध है। इस मिशन पर अधिक जानकारी इस लिंक पर उपलब्ध है।
12:31 आय आय टी बॉम्बे से मैं श्रुति आर्य आपसे विदा लेती हूँ। हमसे जुड़ने के लिए धन्यवाद।

Contributors and Content Editors

Devraj, Pratik kamble, Shruti arya