এখন পর্যন্ত আপনার দেখা সব অনুশীলনীতেই ক্লাস ব্যবহার করা হয়েছে।
মাঝে মাঝে স্টেটসহ একটি অবজেক্ট তৈরির অতিরিক্ত বোঝাটুকু আমাদের দরকার হয় না, তাই তার বদলে আমরা module ব্যবহার করি।
একটি মডিউল ক্লাসের সাথে অনেকটাই মিল, আসলে অবজেক্ট হায়ারার্কিতে Module হলো Class-এর প্যারেন্ট। মূল পার্থক্যটি হলো, ইনস্ট্যান্স মেথডের বদলে আমরা ক্লাস মেথড ব্যবহার করি।
ক্লাস মেথড self. দিয়ে শুরু হয় এবং সরাসরি একটি মডিউলের উপর কল করা হয়।
উদাহরণস্বরূপ:
module Speaker
def self.echo(something)
"#{something} ... #{something}"
end
end
Speaker.echo("Hello") #=> "Hello ... Hello"
Ruby-তে লুপ লেখার বেশ কয়েকটি উপায় আছে, তবে সাধারণভাবে আমরা লুপ করার বদলে এনুমারেশন ব্যবহার করতে অভ্যস্ত, তাই সম্ভবত সবচেয়ে বেশি চোখে পড়া লুপটি হলো while লুপ:
counter = 0
while counter < 5
counter += 1
end
আপনি এর সমগোত্রীয় until-ও ব্যবহার করতে পারেন।
counter = 0
until counter == 5
counter += 1
end
এই অনুশীলনীতে আপনি সঞ্চয় অ্যাকাউন্ট নিয়ে কাজ করবেন। প্রতি বছর সুদের হারের ভিত্তিতে একটি সঞ্চয় অ্যাকাউন্টের ব্যালেন্স হালনাগাদ করা হয়। ব্যাংক যে সুদের হার দেয় তা অ্যাকাউন্টে থাকা টাকার পরিমাণের (অর্থাৎ তার ব্যালেন্সের) উপর নির্ভর করে:
1000 ডলারের কম অ-ঋণাত্মক ব্যালেন্সের জন্য 0.5%।1000 ডলার বা তার বেশি এবং 5000 ডলারের কম ধনাত্মক ব্যালেন্সের জন্য 1.621%।5000 ডলার বা তার বেশি ধনাত্মক ব্যালেন্সের জন্য 2.475%।আপনার তিনটি কাজ আছে, যার প্রতিটিতে ব্যালেন্স এবং তার সুদের হার নিয়ে কাজ করতে হবে।
নির্দিষ্ট ব্যালেন্সের ভিত্তিতে সুদের হার হিসাব করার জন্য SavingsAccount.interest_rate মেথডটি ইমপ্লিমেন্ট করুন:
SavingsAccount.interest_rate(200.75)
#=> 0.5
মনে রাখবেন, রিটার্ন করা মানটি Float-এর একটি ইনস্ট্যান্স।
সুদের হার বিবেচনায় নিয়ে বার্ষিক ব্যালেন্স হালনাগাদ হিসাব করার জন্য SavingsAccount.annual_balance_update মেথডটি ইমপ্লিমেন্ট করুন:
SavingsAccount.annual_balance_update(200.75)
#=> 201.75375
মনে রাখবেন, রিটার্ন করা মানটি Float-এর একটি ইনস্ট্যান্স।
কাঙ্ক্ষিত ব্যালেন্সে পৌঁছাতে ন্যূনতম কত বছর লাগবে তা হিসাব করার জন্য SavingsAccount.years_before_desired_balance মেথডটি ইমপ্লিমেন্ট করুন:
SavingsAccount.years_before_desired_balance(200.75, 214.88)
#=> 14
মনে রাখবেন, রিটার্ন করা মানটি Integer-এর একটি ইনস্ট্যান্স।
Exercism-এ সাইন আপ করুন, Ruby ট্র্যাকের 21টি কনসেপ্ট121টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।