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

From Script | Spoken-Tutorial
Revision as of 12:08, 1 October 2014 by Kaushik Datta (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time Narration
00:01 Ruby তে Object Oriented Concept এর টিউটোরিয়ালে আপনাদের স্বাগত।
00:06 এই টিউটোরিয়ালে আমরা ব্যবহার করা শিখব -
00:08 ক্লাসেস,
00:09 অবজেক্ট তৈরী করা।
00:10 Ruby তে methods সংজ্ঞায়িত করার বিভিন্ন উপায়।
00:13 এখানে আমরা
00:14 উবুন্টু লিনাক্স সংস্করণ 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 Ruby তে ভ্যালু থেকে 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 class Product
01:16 ruby code
01:17 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 একটি Object হল ক্লাসের ইনস্ট্যান্স।
03:43 যার অর্থ Object, 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 কল করতে initialize মেথড ব্যবহার করি।
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 নামক Class সংজ্ঞায়িত করেছি।
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”
08:03 “ I walk”
08:04 প্রিন্ট হয়েছে।
08:05 এটি এইজন্য কারণ আপনি দুটি মেথড 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 টার্মিনাল খুলুন এবং লিখুন,
09:45 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 একটি Class Product পরিভাষিত করা।
10:56 "myvar" এর ভ্যালুস এবং "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