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)
| 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 | Object এ new কল করতে 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 | আমি কৌশিক দত্ত টিউটোরিয়ালটি অনুবাদ করেছি। ধন্যবাদ। |