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

From Script | Spoken-Tutorial
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