எளிய, இனிய கணினி மொழி – ரூபி – 16 – ரூபி case statement

முந்தைய அத்தியாயத்தில் if…else மற்றும் elsif-யை பயன்படுத்தி சில கட்டுப்பாட்டு கட்டமைப்புகளைப்பற்றி அறிந்துகொண்டோம். இதை கொண்டு ஒரு குறிப்பிட்ட மதீப்பீட்டலே செய்ய முடியும்.(உதாரணத்திற்கு, string மதிப்பை பின்வருமாறு பார்க்கலாம்)

if customerName == "Fred"
      print "Hello Fred!"
elsif customerName == "John"
      print "Hello John!"
elsif customername == "Robert"
      print "Hello Bob!"
end

நிபந்தனைகளின் எண்ணிக்கை அதிகமாகும்போது if கட்டமைப்பைப் பயன்படுத்துவது கடினமான செயலாகும். இதை எளிதாக கையாள ரூபி case கட்டளையைப் பயன்படுத்தலாம். Case கட்டளையின் அமைப்பு பின்வருமாறு:

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

தேவைக்கேற்ப எத்தனை when கட்டளைகள் வேண்டுமோ இருக்கலாம். Case கட்டளையில் உள்ள options(இதில் match1 முதல் match7 வரை) ஒப்பிட்டு பார்க்கும், அதில் பொருத்தமான விடையை result மாறியில் வைக்கும். எந்த மதிப்பும் பொருந்தவில்லையெனில் else கட்டளையில் உள்ள விடையை result மாறிக்கு அளிக்கும்.

இதை விளக்க நாம் ஒரு எடுத்துக்காட்டை பார்ப்போம். ரூபியில் case கட்டளையை பயன்படுத்தி ஒரு குறிப்பிட்ட மகிழ்வுந்து மாதிரியின் பெயரை உற்பத்தியாளரின் பெயருடன் ஒப்பிட்டு பார்க்கலாம். பொருந்தும் மாதிரியின் பெயரையும் மற்றும் உற்பத்தியாளரின் பெயரையும் அச்சிடலாம்.

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

இதை செயல்படுத்தினால் விடை பின்வருமாறு,

The Patriot is made by Jeep

மதிப்பு பொருந்தவில்லையெனில் else கட்டளை பின்வரும் விடையை கொடுக்கும்,

The Prius is made by Unknown

எண்களின் Ranges மற்றும் case statement:

Case கட்டளையானது எல்லாவற்றையும் விட எண்களின் ranges-ல் இணைந்து பயன்படும்போது மிகவும் பயன் உள்ளதாக உள்ளது.
பின்வரும் எடுத்துக்காட்டில் case கட்டளையைப் பயன்படுத்தி பல்வேறு எண்களின் ranges-வுடன் காண்போம்,

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

இந்த நிரலை செயல்படுத்தினால், “Pass with Merit” என்ற விடையை பெறலாம்.

— தொடரும்
பிரியா – priya.budsp@gmail.com – ஐக்கிய அரபு அமீரகம்

Leave a Reply

%d bloggers like this: