முந்தைய அத்தியாயத்தில் if…else மற்றும் elsif-யை பயன்படுத்தி சில கட்டுப்பாட்டு கட்டமைப்புகளைப்பற்றி அறிந்துகொண்டோம். இதை கொண்டு ஒரு குறிப்பிட்ட மதீப்பீட்டலே செய்ய முடியும்.(உதாரணத்திற்கு, string மதிப்பை பின்வருமாறு பார்க்கலாம்)
[code lang=”ruby”]
if customerName == "Fred"
print "Hello Fred!"
elsif customerName == "John"
print "Hello John!"
elsif customername == "Robert"
print "Hello Bob!"
end
[/code]
நிபந்தனைகளின் எண்ணிக்கை அதிகமாகும்போது if கட்டமைப்பைப் பயன்படுத்துவது கடினமான செயலாகும். இதை எளிதாக கையாள ரூபி case கட்டளையைப் பயன்படுத்தலாம். Case கட்டளையின் அமைப்பு பின்வருமாறு:
[code lang=”ruby”]
result = case value
when match1; result1
when match2; result2
when match3; result3
when match4; result4
when match5; result5
when match6; result6
else match7; result7
end
[/code]
தேவைக்கேற்ப எத்தனை when கட்டளைகள் வேண்டுமோ இருக்கலாம். Case கட்டளையில் உள்ள options(இதில் match1 முதல் match7 வரை) ஒப்பிட்டு பார்க்கும், அதில் பொருத்தமான விடையை result மாறியில் வைக்கும். எந்த மதிப்பும் பொருந்தவில்லையெனில் else கட்டளையில் உள்ள விடையை result மாறிக்கு அளிக்கும்.
இதை விளக்க நாம் ஒரு எடுத்துக்காட்டை பார்ப்போம். ரூபியில் case கட்டளையை பயன்படுத்தி ஒரு குறிப்பிட்ட மகிழ்வுந்து மாதிரியின் பெயரை உற்பத்தியாளரின் பெயருடன் ஒப்பிட்டு பார்க்கலாம். பொருந்தும் மாதிரியின் பெயரையும் மற்றும் உற்பத்தியாளரின் பெயரையும் அச்சிடலாம்.
[code lang=”ruby”]
car = "Patriot"
manufacturer = case car
when "Focus"; "Ford"
when "Navigator"; "Lincoln"
when "Camry"; "Toyota"
when "Civic"; "Honda"
when "Patriot"; "Jeep"
when "Jetta"; "VW"
when "Ceyene"; "Porsche"
when "Outback"; "Subaru"
when "520i"; "BMW"
when "Tundra"; "Nissan"
else "Unknown"
end
puts "The " + car + " is made by " + manufacturer
[/code]
இதை செயல்படுத்தினால் விடை பின்வருமாறு,
[code lang=”ruby”]
The Patriot is made by Jeep
[/code]
மதிப்பு பொருந்தவில்லையெனில் else கட்டளை பின்வரும் விடையை கொடுக்கும்,
[code lang=”ruby”]
The Prius is made by Unknown
[/code]
எண்களின் Ranges மற்றும் case statement:
Case கட்டளையானது எல்லாவற்றையும் விட எண்களின் ranges-ல் இணைந்து பயன்படும்போது மிகவும் பயன் உள்ளதாக உள்ளது.
பின்வரும் எடுத்துக்காட்டில் case கட்டளையைப் பயன்படுத்தி பல்வேறு எண்களின் ranges-வுடன் காண்போம்,
[code lang=”ruby”]
score = 70
result = case score
when 0..40; "Fail"
when 41..60; "Pass"
when 61..70; "Pass with Merit"
when 71..100; "Pass with Distinction"
else "Invalid Score"
end
puts result
[/code]
இந்த நிரலை செயல்படுத்தினால், “Pass with Merit” என்ற விடையை பெறலாம்.
— தொடரும்
பிரியா – priya.budsp@gmail.com – ஐக்கிய அரபு அமீரகம்