Ruby/C3/Object-Oriented-Concept-in-Ruby/Bengali

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 Ruby তে Object Oriented Concept এর টিউটোরিয়ালে আপনাদের স্বাগত।
00:06 এখানে শিখব
00:08 ক্লাসেস, অবজেক্ট তৈরী করা।
00:10 methods সংজ্ঞায়িত করার বিভিন্ন উপায়।
00:13 এখানে উবুন্টু সংস্করণ 12.04 এবং
00:16 রুবি 1.9.3 ব্যবহার করছি।
00:19 লিনাক্স কমান্ড, টার্মিনাল এবং টেক্সট এডিটর ব্যবহার সম্পর্কে জানতে হবে।
00:24 না হলে, প্রাসঙ্গিক টিউটোরিয়ালের জন্য, আমাদের ওয়েবসাইটে যান।
00:28 শুরু করার পূর্বে, ttt ডিরেক্টরি তৈরী করা নিশ্চিত করুন।
00:33 এই ডিরেক্টরিতে যাই।
00:35 ruby হাইফেন tutorial এবং classes ডিরেক্টরি তে।
00:41 Ruby একটি object oriented ভাষা।
00:44 এখানে ভ্যালু থেকে string বা নম্বর পর্যন্ত, সবই অবজেক্ট।
00:49 Class হল সম্বন্ধিত data বা functions এর সংগ্রহ।
00:53 এটি সংগঠিত ডেটা রাখে।
00:56 Object হল Class এর ইনস্ট্যান্স।
01:00 একটি Class এর সংজ্ঞা কীওয়ার্ড Class এর সাথে শুরু হয়।
01:05 এরপর Class এর নাম আসে।
01:08 এটি end এর সাথে সীমাঙ্কিত হয়।
01:11 এখন Class এর একটি উদাহরণ দেখি।
01:14 ক্লাস Product
01:16 ruby code, end
01:20 Class এর নাম বড়হাতের অক্ষর দ্বারা শুরু হয়।
01:24 নাম, যাতে একাধিক শব্দ রয়েছে, ক্যামেল কেসে (camel case) হতে হবে।
01:28 উদাহরণস্বরূপ
01:30 UserInformation
01:32 ProductInformation
01:34 এর পরের ক্ষেত্রে আন্ডারস্কোর ব্যবহার করব।
01:37 user underscore information
01:40 product underscore information
01:45 gedit এ নতুন ফাইল তৈরি করে
01:48 এটিকে class_definition.rb নাম দিন।
01:52 এখানে Classes বাস্তবায়ন করার কার্যকর উদাহরণ রয়েছে।
01:57 টিউটোরিয়ালটি সম্পূর্ণ বুঝতে এটি মাঝে থামিয়ে কোড লিখুন।
02:02 Order নামক Class সংজ্ঞায়িত করেছি।
02:05 এখন, কিছু ভ্যারিয়েবল যুক্ত করে Class কার্যকর করি।
02:11 instance ভ্যারিয়েবল, myinstance সংজ্ঞায়িত করেছি
02:15 এবং এতে ভ্যালু নির্ধারিত করেছি।
02:18 Class ভ্যারিয়েবল myclassvar ও সংজ্ঞায়িত করে
02:21 এতে ভ্যালু নির্ধারিত করেছি।
02:24 এখন, Class ব্যবহার করতে এখানে কিছু কোড যোগ করি।
02:30 লিখুন, puts Order ডট instance আন্ডারস্কোর variables.
02:36 এই লাইনের পূর্বে, নতুন লাইনের জন্য puts কিছু অক্ষর এবং স্ল্যাশ n যোগ করুন।
02:43 এটি কপি পেস্ট করে জুড়িত লাইনের নীচে এটি যোগ করে এটি সংরক্ষণ করুন।
02:51 কোড এক্সিকিউট করি।
02:53 টার্মিনালে গিয়ে লিখুন
02:56 ruby স্পেস class আন্ডারস্কোর definition ডট rb
03:02 এবং আউটপুট দেখুন।
03:05 আপনি, সংজ্ঞায়িত instance ভ্যারিয়েবল দেখবেন।
03:09 এখন লিখুন puts Order ডট class আন্ডারস্কোর variables.
03:15 এই সীমাঙ্কন, লাইনের একেবারে নীচে কপি-পেস্ট করে সংরক্ষণ করুন।
03:21 এখন টার্মিনালে গিয়ে আগের মতই ফাইল এক্সিকিউট করুন।
03:26 আপনি পরিভাষিত, Class ভ্যারিয়েবল দেখবেন, যা প্রদর্শিত হয়।
03:32 এখন Class লিখতে সক্ষম।
03:35 এরপর, দেখি যে অবজেক্ট কি?
03:40 এটি হল ক্লাসের ইনস্ট্যান্স।
03:43 এর মানে এটি Class থেকে তৈরী হয়।
03:46 Object, Class এ সংজ্ঞায়িত বৈশিষ্ট্য এবং মেথড থাকবে।
03:52 অবজেক্ট ঘোষিত করতে
03:54 নতুন কীওয়ার্ড ব্যবহার করে Class এবং Object ঘোষিত করি।
03:58 Product ক্লাসের অবজেক্ট তৈরী করছি।
04:02 এখানে অবজেক্ট তৈরী হয়েছে।
04:05 product = Product.new
04:09 একে অবজেক্টের প্রারম্ভিকরণ বলে।
04:12 এটি হল অবজেক্ট Product এর ধরন।
04:16 এখন দেখি যে initialize মেথড কি?
04:20 initialize মেথড, Object তৈরীর সময় কল করা হয়।
04:26 Objectnew কল করতে এই মেথড ব্যবহার করি।
04:31 initialize মেথডের কাছে প্যারামিটারের তালিকা হতে পারে।
04:37 অন্যান্য Ruby মেথডের মত, এটি "def" কীওয়ার্ড এর পর আসে।
04:43 এখন একটি উদাহরণ দেখি।
04:46 gedit এ নতুন ফাইল তৈরি করুন
04:50 এটিকে object আন্ডারস্কোর initialize ডট rb নাম দিন।
04:55 এখানে object initialization কোডের একটি কার্যকর উদাহরণ রয়েছে।
05:00 মাঝে টিউটোরিয়াল থামিয়ে কোড লিখুন।
05:04 Order নামক Class সংজ্ঞায়িত করেছি।
05:08 এখন আর্গুমেন্ট ছাড়া initialize মেথড সংজ্ঞায়িত করেছি।
05:13 puts মেথড সংজ্ঞায়িত করেছি, প্রদর্শিত ম্যাসেজ হল, I have created an object.
05:20 এরপর,Order ডট new সংজ্ঞায়িত করেছি।
05:24 এটি initialize মেথড কল করবে।
05:27 এখন টার্মিনালে গিয়ে লিখুন
05:31 ruby স্পেস object আন্ডারস্কোর initialize ডট rb
05:36 এবং আউটপুট দেখুন।
05:39 প্রদর্শিত ম্যাসেজ হল I have created an object.
05:43 এখন gedit এ ফিরে গিয়ে মেথডে আর্গুমেন্ট যোগ করুন।
05:48 এখন puts এ পরিবর্তন করি।
05:51 এটির পাস করা আর্গুমেন্টের ভ্যালু প্রদর্শন করা উচিত।
05:55 এরপর লিখুন,
05:56 Order dot new(“I have created an object”).
06:04 এখানে new মেথডে আর্গুমেন্ট দিয়েছি।
06:08 এই আর্গুমেন্ট, initialize মেথডে পাস করা হয়েছে।
06:13 এখন টার্মিনালে গিয়ে লিখুন
06:16 ruby স্পেস object আন্ডারস্কোর initialize ডট rb
06:20 আউটপুট দেখুন।
06:22 রিন্ট করা ম্যাসেজ হল, “I have created an object” দেখবেন।
06:29 এখন, আপনি অবজেক্ট প্রারম্ভিকরণ বুঝেছেন।
06:33 Ruby তে methods হল ফাংশন যা Class প্রদর্শন করে।
06:39 Class এ প্রতিটি মেথড def এবং end ব্লকের মধ্যে সংজ্ঞায়িত হয়।
06:45 multiword মেথড নেম, আন্ডারস্কোর দ্বারা পৃথক হয়েছে।
06:48 কিছু ক্যারেক্টার, যা মেথডের নামের সাথে সংলগ্ন থাকে তা হল
06:54  ? (question-mark)
06:56 = (equal to)
06:58 প্রতিটি ক্যারেক্টার মেথডে কিছু অর্থ যোগ করে।
07:02 এখন কিছু উদাহরণ দেখি।
07:05 gedit এ নতুন ফাইল তৈরী করে
07:09 এর নাম দিন class আন্ডারস্কোর methods ডট rb
07:14 এখানে Class মেথড কোডের কার্যকর উদাহরণ রয়েছে।
07:17 টিউটোরিয়ালটি থামিয়ে কোড লিখুন।
07:21 Animal ক্লাসের পর
07:23 দুটি মেথড রয়েছে, breathe এবং walk
07:28 এটি def এবং end কীওয়ার্ডের সাথে সংজ্ঞায়িত হয়েছে।
07:32 তারপর অবজেক্ট Animal আরম্ভ করেছি।
07:36 ছোট হাতের অক্ষর a এর সাথে animal নিযুক্ত করেছি।
07:40 তারপর আমি ক্রমানুসারে breathe এবং walk মেথড ব্যবহার করেছি।
07:48 এখন প্রোগ্রাম এক্সিকিউট করুন।
07:51 টার্মিনালে গিয়ে লিখুন
07:53 ruby স্পেস class আন্ডারস্কোর methods ডট rb
07:58 এবং আউটপুট দেখুন।
08:00 এখানে
08:02 “ I breathe” , “ I walk”
08:04 প্রিন্ট হয়েছে। কারণ আমরা দুটি মেথড breathe এবং walk ব্যবহার করেছি।


08:10 এই মেথডে সংজ্ঞায়িত puts স্টেটমেন্ট ফলাফল দেয়।
08:16 এখন question মার্ক দ্বারা মেথড তৈরী করা দেখি।
08:21 gedit এ নতুন ফাইল তৈরি করে
08:25 এর নাম দিন class আন্ডারস্কোর methods আন্ডারস্কোর with আন্ডারস্কোর trailing আন্ডারস্কোর characters ডট rb
08:35 question মার্ক কোড সহ Class মেথডের কার্যকর উদাহরণ রয়েছে।
08:40 টিউটোরিয়ালটি সম্পূর্ণ বুঝতে এটি মাঝে থামিয়ে কোড দেখুন।
08:45 আমি আগের মত একই Class নিয়েছি।
08:48 এখানে breathe মেথডের question mark (?) রয়েছে যা
08:52 boolean ভ্যালু ফেরৎ দিতে উপযোগী।
08:55 এটি হল Ruby তে নেমিং কনভেন্সন (naming convention) ভিত্তিক।
09:00 animal ডট breathe question-mark ঘোষিত করে মেথড উপযোগিত হয়েছে।
09:06 এখন টার্মিনাল খুলে লিখুন
09:09 ruby স্পেস class আন্ডারস্কোর methods আন্ডারস্কোর with আন্ডারস্কোর trailing আন্ডারস্কোর characters ডট rb এবং আউটপুট দেখুন।
09:22 প্রদর্শিত আউটপুট হল true
09:26 এরপর, আরেকটি মেথড walk পরিভাষিত করি।
09:30 এর পাশে একটি চিহ্ন যোগ করুন equal to =(value)
09:36 animal ডট walk, কল করে এটি ব্যবহার করুন।
09:41 তারপর মেথড এক্সিকিউট করি।
09:44 টার্মিনালে লিখুন, ruby class আন্ডারস্কোর methods আন্ডারস্কোর with আন্ডারস্কোর trailing আন্ডারস্কোর characters ডট rb
09:52 এবং আউটপুট দেখুন।
09:56 এটি undefined method এরর দেয়।
09:59 কারণ equal to চিন্হের ভিন্ন অর্থ রয়েছে।
10:03 এটি মেথডের ভ্যালু নির্ধারিত করতে ব্যবহৃত হয়।
10:08 এখন মেথড একটু অন্য ভাবে ব্যবহার করি।
10:13 লিখুন puts animal ডট walk = “hops”
10:17 এখন আরেক বার চেষ্টা করি।
10:20 টার্মিনালে গিয়ে আগেকার মতই কমান্ড রান করুন এবং আউটপুট দেখুন।
10:27 hops শব্দটি প্রিন্ট হয়েছে।
10:30 এটি প্রদর্শন করে যে মেথডের পরে equal to চিন্হের অর্থ নির্দেশিত কাজ।
10:36 এখন আপনাকে আপনার মেথড লিখতে সক্ষম হতে হবে।
10:42 এই টিউটোরিয়ালে আমরা শিখেছি
10:44 Classes ঘোষিত করা
10:46 Class এর অবজেক্ট তৈরী করা।
10:48 Ruby তে methods সংজ্ঞায়িত করার বিভিন্ন উপায়।
10:52 এখন
10:54 ক্লাস Product পরিভাষিত করুন।
10:56 "myvar" এবং তার জন্য নির্ধারিত ভ্যালু প্রাপ্ত করতে মেথড পরিভাষিত করুন।
11:01 = চিহ্ন ব্যবহার করে মেথড পরিভাষিত করুন।
11:05 ক্লাসের অবজেক্ট প্রদর্শন করে উপরোক্ত দুটি মেথড ব্যবহার করে ভ্যালুস নির্ধারিত এবং প্রাপ্ত করা।
11:12 এই লিঙ্কে উপলব্ধ ভিডিওটি দেখুন।
11:14 এটি প্রকল্পকে সারসংক্ষেপে বোঝায়।
11:18 ভাল ব্যান্ডউইডথ না থাকলে ভিডিওটি ডাউনলোড করে দেখুন।
11:22 স্পোকেন টিউটোরিয়াল প্রকল্প দল
11:24 টিউটোরিয়াল ব্যবহার করে কর্মশালার আয়োজন করে।
11:27 অনলাইন পরীক্ষা পাস করলে প্রশংসাপত্র দেয়।
11:30 বিস্তারিত তথ্যের জন্য contact@spoken-tutorial.org তে ইমেল করুন।
11:36 স্পোকেন টিউটোরিয়াল Talk to a Teacher প্রকল্পের অংশবিশেষ।
11:39 এটি ভারত সরকারের ICT, MHRD এর জাতীয় সাক্ষরতা মিশন দ্বারা সমর্থিত।
11:46 এই বিষয়ে বিস্তারিত তথ্য এই লিঙ্কে প্রাপ্তিসাধ্য, spoken hyphen tutorial dot org slash NMEICT hyphen Intro
11:56 আমি কৌশিক দত্ত এই টিউটোরিয়ালটি অনুবাদ করেছি। অংশগ্রহণের জন্য ধন্যবাদ।

Contributors and Content Editors

Kaushik Datta