எளிய, இனிய கணினி மொழி – ரூபி – 15 – ரூபி நிரலோட்டக் கட்டுப்பாடு

ரூபியின் சக்திவாய்ந்த அம்சங்களில் கட்டுப்படுத்தும் கட்டமைப்புகள் (control structures) ஒன்று. நிரலில் அறிவுதிறத்தையும் (intelligence), தர்க்கத்தையும் (logic) இணைக்க இந்த கட்டமைப்புகள் உதவுகிறது. கட்டுப்படுத்தும் கட்டமைப்புகளை மற்றும் தர்க்க கட்டளைகனைப் பயன்படுத்தி என்ன நிரலை செயல்படுத்தவேண்டும் என்று முடிவு செய்யப்படுகிறது.
இவற்றை எப்படி பயன்படுத்த வேண்டும் என்று இந்த அத்தியாயத்தில் பார்ப்போம்.

ரூபி நிபந்தனை கட்டளை:

ரூபியின் கட்டுப்படுத்தும் கட்டமைப்புகளில், நிபந்தனை கட்டளை (if statement) மிகவும் அடிப்படையானதாகும்.
நிபந்தனை கட்டளையின் அமைப்பு பின்வருமாறு,

[code lang=”ruby”]
if expression then
ruby code
end
[/code]

மேலேலுள்ள அமைப்பில் expression என்பது தர்க்க கட்டளை ஆகும். அது ஒன்று true-வாகவோ அல்லது false ஆகவோ இருக்கும். Expression true ஆக இருந்தால் ruby code இயக்கப்படும். இல்லையெனில் அந்த நிரல் இயக்கத்தை தவிர்த்துவிடும். End ஆனது நிபந்தனை கட்டளையை முடிவடைய செய்யும்.
ஒரு எடுத்துக்காட்டை பார்ப்போம்:

[code lang=”ruby”]
if 10 < 20 then
print "10 is less than 20"
end
[/code]

இந்த நிரலை செயல்படுத்தினால், “10 is less than 20” என்ற சரத்தை (string) அச்சிடும். ஏனென்றால் 10 மற்ற மொழிகளைப் போல் இல்லாது ரூபியில் பல எளிய முறைகள் உண்டு. அதில் முதலாவதாக, then திறவுச்சொல், அதை நீக்கிய பிறகும் ரூபி அதே விடையை தரும்:

[code lang=”ruby”]
if 10 < 20
print "10 is less than 20"
end
[/code]

அடுத்ததாக, நிபந்தனை கட்டளையை தொடர்ந்து ஒரே ஒரு வரி நிரல் மட்டும் இருப்பின், end திறவுச்சொல்லும் தேவையில்லை . இதனை, பின்வரும் எடுத்துக்காட்டில் காணலாம்.

[code lang=”ruby”]
print "10 is less than 20" if 10 < 20
[/code]

ரூபியில் நிரலை சுருக்கமாக எழுதமுடியும் என்பதற்கு இது ஒரு சிறந்த எடுத்துக்காட்டாகும்

expression-னில் தர்க்க செயற்குறிகளை பயன்படுத்த முடியும். உதாரணத்திற்கு,

[code lang=”ruby”]
if firstname == "john" && lastname == "smith" then
print "Hello John!"
end
[/code]


else மற்றும் elsif:

ஒரு குறிப்பிட்ட expression-னை மதீப்பீடு செய்யும்போது true வந்தால் நிபந்தனை கட்டுப்பாட்டு கட்டமைப்பு (if control structure) என்ன செய்யுமென்று பார்த்தோம். மேலும் expression-னை மதீப்பீடு செய்து false வருமாயின் அப்போது if-else கட்டுப்பாட்டு கட்டமைப்பை பயன்படுத்தலாம்.
If-else-ன் அமைப்பு, நிபந்தனை கட்டளையைப் போன்றதுதான் ஆனால் else பகுதியும் உண்டு:

[code lang=”ruby”]
if customer_name == "Fred"
print "Hello Fred!"
else
print "You’re not Fred! Where’s Fred?"
end
[/code]

மேலேலுள்ள எடுத்துக்காட்டில் expression true ஆகயிருந்தால், நிபந்தனை கட்டளைக்கு அடுத்துள்ள நிரல் பகுதியை செயல்படுத்தும், இல்லையெனில் else கட்டளைக்கு அடுத்துள்ள நிரல் பகுதியை செயல்படுத்தும்.
else-ஐ தொடர்ந்து மேலும் ஒரு நிபந்தனை கட்டளை தேவையெனில், elsif-ஐ பயன்படுத்தலாம். உதாரணத்திற்கு,

[code lang=”ruby”]
if customer_name == "Fred"
print "Hello Fred!"
elsif customer_name == "John"
print "Hello John!"
elsif customer_name == "Robert"
print "Hello Bob!"
end
[/code]


இதே கட்டளையை “;” -னை கொண்டு elsif மற்றும் பதிப்பு கட்டளைகளை (print statement) பிரித்து பயன்படுத்தலாம்.

[code lang=”ruby”]
if customer_name == "Fred"; print "Hello Fred!"
elsif customer_name == "John"; print "Hello John!"
elsif customer_name == "Robert"; print "Hello Bob!"
end
[/code]

ரூபி unless statement:

unless கட்டளையானது if else பதிலாக பயன்படுத்த கூடிய ஒரு வழியாகும். உதாரணத்திற்கு, if else கட்ட்ளையை பயன்படுத்தி பின்வருமாறு எழுதலாம்,

[code lang=”ruby”]
if i < 10
puts "Student failed"
else
puts "Student passed"
end
[/code]

இந்த நிரலில் unless கட்டளையை பயன்படுத்த வேண்டுமெனில் கீழ்கண்டவாறு மாற்றி எழுத வேண்டும்,

[code lang=”ruby”]
unless i >= 10
puts "Student failed"
else
puts "Student passed"
end
[/code]


ரூபி ternary செயற்குறி:

ரூபி ternary செயற்குறியைப் பயன்படுத்தி எளிய வழியில் முடிவுகள் எடுக்க முடியும். Ternary செயற்குறியின் அமைப்பு பின்வருமாறு:

[code lang=”ruby”]
[condition] ? [true expression] : [false expression]
[/code]

மேலே உள்ள அமைப்பில் [condition] என்பது ஒரு expression ஆகும். அது ஒரு true-வாகவோ அல்லது false ஆகவோ இருக்கும். விடை true-வாக இருந்தால்[true expression] செயல்படுத்தும், விடை false ஆக இருந்தால் [false expression]-னை செயல்படுத்தும்.உதாரணத்திற்கு,

[code lang=”ruby”]
customer_name = "Fred"
=> "Fred"
puts customer_name == "Fred" ? "Hello Fred" : "Who are you?"
=> "Hello Fred"
[/code]

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

%d bloggers like this: