PERL/C3/Access-Modifiers-in-PERL/Bengali
From Script | Spoken-Tutorial
Revision as of 10:21, 27 February 2017 by Kaushik Datta (Talk | contribs)
|
|
00:01 | Access Modifiers এর টিউটোরিয়ালে আপনাদের স্বাগত। |
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 প্যাকেজের মাঝে ভ্যারিয়েবল নেম কোলিজন অর্থাৎ দুর্ঘটনায় বাঁচায়। |
08:51 | package এবং 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 | স্পোকেন টিউটোরিয়াল প্রজেক্ট ভারত সরকারের MHRD এর NMEICT দ্বারা সমর্থিত। এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য। |
12:31 | আই আই টী বোম্বে থেকে আমি বিদায় নিচ্ছি। ধন্যবাদ। |