अब तक आपने जो भी अभ्यास देखे हैं, उन सबमें क्लास का उपयोग हुआ है।
कभी-कभी हमें स्थिति वाले ऑब्जेक्ट बनाने का अतिरिक्त बोझ नहीं चाहिए होता, इसलिए उसके बजाय हम 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 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।