எளிய, இனிய கணிணி மொழி – ரூபி – 10 – ரூபி array-வின் மேம்பட்ட பயன்பாடுகள்

முந்தைய அத்தியாயத்தில் ரூபி array-யின் அறிமுகம் பார்த்தோம். இந்த அத்தியாயத்தில் விரிவாக பார்க்கலாம்.

ரூபி array-க்களை இணைத்தல்:

ரூபியில் arrays-களை இணைக்க பல்வேறு அணுகுமுறைகளை பயன்படுத்தலாம். அதில் முதலவதாக கூட்டலை (+) பயன்படுத்தி இணைக்கலாம்,

[code lang=”ruby”]
days1 = ["Mon", "Tue", "Wed"]
days2 = ["Thu", "Fri", "Sat", "Sun"]
days = days1 + days2
=> ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
[/code]

மாற்றாக concat செயற்கூற்றையும் பயன்படுத்தலாம்.

[code lang=”ruby”]
days1 = ["Mon", "Tue", "Wed"]
days2 = ["Thu", "Fri", "Sat", "Sun"]
days = days1.concat(days2)
[/code]

“<<” செயற்கூற்றை பயன்படுத்தி இருக்கும் array-யில் கூறுகளை இறுதியில் சேர்க்கலாம். உதாரணத்திற்கு,

[code lang=”ruby”]
days1 = ["Mon", "Tue", "Wed"]
days1 << "Thu" << "Fri" << "Sat" << "Sun"
=> ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
[/code]


Intersection, union மற்றும் difference:

ரூபியில Array- பலவகையில் கையாளலாம். Union, intersection மற்றும் difference பயன்படுத்தி இரண்டு array-களிலிருந்து ஒரு புது array-யை உருவாக்கலாம்.

Operator

Description

Difference – ஒரு புது array-யை திருப்பி அனுப்பும். முதல் array-யிலிருந்து, இரண்டாவது array-யிலுள்ள கூறுகளை நீக்கும்.

&

Intersection – ஒரு புது array-யை உருவாக்கி அதில் இரண்டு array –களின் பொதுவான கூறுகளை வைக்கும். நகல்களை நீக்கும்.

|

Union – இரண்டு array-களை இணைக்கும். நகல்களை நீக்கும்.

ஒரு சில எடுத்துக்காட்டுகள் set operation-யை விளக்க உதவும். இதற்கு பின்வருமாறு இரண்டு array-யை எடுத்து கொள்ளலாம்.

[code lang=”ruby”]
operating_systems = ["Fedora", "SuSE", "RHEL", "Windows", "MacOS"]
linux_systems = ["RHEL", "SuSE", "PCLinuxOS", "Ubuntu", "Fedora"]
[/code]

இப்பொழுது இந்த இரண்டு array-யை union செய்து ஒரு புது array-யை உருவாக்கலாம்.

[code lang=”ruby”]
operating_systems | linux_systems
=> ["Fedora", "SuSE", "RHEL", "Windows", "MacOS", "PCLinuxOS", "Ubuntu"]
[/code]

மேலே உள்ள விடையில் ஒரு array-யை இன்னொரு array-வுடன் இணைத்து அதிலுள்ள நகல் array கூறுகளை நீக்குகிறது.

அடுத்ததாக intersection செய்யலாம்.

[code lang=”ruby”]
operating_systems &amp;amp; linux_systems
=> ["Fedora", "SuSE", "RHEL"]
[/code]

இது இரண்டு arrays-யிலும் பொதுவாக உள்ள கூறுகளை விடையாக கொடுக்கும்.

இறுதியாக “difference”operation-னை பார்ப்போம்.

[code lang=”ruby”]
operating_systems – linux_systems
=> ["Windows", "MacOS"]
[/code]

இரண்டு array-களின் difference-யை ஒரு புது array-யில் வைக்கும். நமது எடுத்துக்காட்டில்,operating_systems-ல் உள்ள கூறுகளிலிருந்து linux_systems-ல் உள்ள கூறுகளை நீக்கிவிடும். இதை மேலும் விளக்க operands மாற்றம் செய்துப் பார்க்கலாம்,

[code lang=”ruby”]
linux_systems – operating_systems
=> ["PCLinuxOS", "Ubuntu"]
[/code]


தனித்த array கூறுகளை கண்டறிதல்:

Array class-யிலுள்ள uniq method-டை கொண்டு நகல் array கூறுகளையை array-யிலிருந்து நீக்கலாம். உதாரணத்திற்கு,

[code lang=”ruby”]
linux_systems = ["RHEL", "SuSE", "PCLinuxOS", "Ubuntu", "Fedora", "RHEL", "SuSE"]

linux_systems.uniq
=> ["RHEL", "SuSE", "PCLinuxOS", "Ubuntu", "Fedora"]
[/code]

மேலே உள்ள உதாரணத்தில், uniq method-ஆல் அசல் array-யில் மாற்றம் எதுமில்லை. Uniq! Method-டை பயன்படுத்தி array-யிலிருந்து நகலை நீக்க முடியும், அதை பின்வருமாறு காணலாம். இது ரூபியில் பின்பற்றப்படும் ஒரு பொதுவான வழக்கமாகும் (common convention). எந்த ஒரு method-ம், அது எந்த object-ன் மீது அழைக்கப்டுகிறதோ, அதை மாற்றம் செய்யுமெனில், அதன் பெயர் ஆச்சரியகுறி கொண்டு முடிவடையவேண்டும்.

[code lang=”ruby”]
linux_systems
=> ["RHEL", "SuSE", "PCLinuxOS", "Ubuntu", "Fedora", "RHEL", "SuSE"]

linux_systems.uniq!
=> ["RHEL", "SuSE", "PCLinuxOS", "Ubuntu", "Fedora"]

linux_systems
=> ["RHEL", "SuSE", "PCLinuxOS", "Ubuntu", "Fedora"]
[/code]


Array கூறுகளில் தள்ளுதல் மற்றும் மேலெடுத்தல்:

ரூபியின் array-யில் கூறுகளை தள்ளுதல் மற்றும் மேலெடுத்தல் செய்ய Last In First Out(LIFO) stack-யை பயன்படுத்துகிறது. இதை push மற்றும் pop methods-டை கொண்டு செய்யலாம், உதாரணத்திற்கு ஒரு array உருவாக்கி கூறுகளை உள்ளே தள்ளலாம்.

[code lang=”ruby”]
colors = ["red", "green", "blue"]
=> ["red", "green", "blue"]

colors.push "indigo"
=> ["red", "green", "blue", "indigo"]

colors.push "violet"
=> ["red", "green", "blue", "indigo", "violet"]
[/code]


Pop method-டை பயன்படுத்தி array-யிலிருந்து கூறினை வெளியே எடுக்கலாம்.

[code lang=”ruby”]
colors.pop
=> "violet"

colors.pop
=> "indigo"
[/code]


ரூபி array ஒப்பீடுகள்:

ரூபி arrays-யை ==,<=> மற்றும் eql? Method-டை பயன்படுத்தி ஒப்பிடலாம்.

இரண்டு array-யிலும் ஒரே எண்ணிக்கையில் கூறுகளையும் மற்றும் ஒத்த இடத்திலுள்ள கூறுகளிலும் (corresponding elements) ஒரே content-ம் இருந்தால் == method true-வை திருப்பியனுப்பும்.

Eql? Method, == method போன்றதுதான். ஆனால், இரண்டு arrays-யிலும் உள்ள corresponding கூறுகளின் வகையும் (value type) ஒன்றாக இருக்க வேண்டும்.

இறுதியாக <=> method, இதை “spaceship” method என்றும் அழைக்கலாம். இது இரண்டு array-யை ஒப்பிடூ செய்து equal என்றால் 0-வை திருப்பி அனுப்பும். ஒரு Array கூறுகள் மற்றொரு array கூறுகளைவிட குறைவாக இருந்தால் -1-னையும் கூடுதலாக இருந்தால் 1-னையும் திருப்பி அனுப்பும்.

Arrays மாற்றியமைத்தல்:

Array-யில் இடையில் ஒரு புது கூறை செருக insert method-டை பயன்படுத்த வேண்டும். செருக வேண்டிய கூறின் index மதிப்பு மற்றும் புது மதிப்பையும் இந்த method-க்கு argument ஆக கொடுக்க வேண்டும், உதாரணத்திற்கு ஒரு புதிய வண்ணத்தை red மற்றும் green கூற்றிற்கு நடுவில் செருக பின்வருமாறு செய்யலாம்.

[code lang=”ruby”]
colors = ["red", "green", "blue"]
=> ["red", "green", "blue"]

colors.insert( 1, "orange" )
=> ["red", "orange", "green", "blue"]
[/code]

array கூறையும் array கூறின் index-யை பயன்படுத்தி ஒரு புது மதிப்பை கொடுக்க முடியும்.

[code lang=”ruby”]
colors = ["red", "green", "blue"]
=> ["red", "green", "blue"]

colors[1] = "yellow"
=> "yellow"

colors
=> ["red", "yellow", "blue"]
[/code]

Range-யை பயன்படுத்தி பல கூறினையை மாற்ற முடியும்.

[code lang=”ruby”]
colors = ["red", "green", "blue"]
=> ["red", "green", "blue"]

colors[1..2] = "orange", "pink"
=> ["orange", "pink"]

colors
=> ["red", "orange", "pink"]
[/code]


Array-யிலிருந்து கூறுகளை நீக்குதல்:

Array-யிலிருந்து கூறுகளை, ஒன்று array கூறின் content-யையோ அல்லது index இருப்பினை கொண்டோ நீக்கலாம்.

Index-யை பயன்படுத்தி நீக்க delete_at method-டை பயன்படுத்தலாம்:

[code lang=”ruby”]
colors = ["red", "green", "blue"]
=> ["red", "green", "blue"]

colors.delete_at(1)
=> "green"

colors
=> ["red", "blue"]
[/code]

Array கூறின் content-டை கொண்டு நீக்க delete method-டை பயன்படுத்தலாம்.

[code lang=”ruby”]
colors = ["red", "green", "blue"]
=> ["red", "green", "blue"]

colors.delete("red")
=> nil

colors
=> ["green", "blue"]
[/code]


Arrays வரிசைப்படுத்துதல்:

ரூபியில் arrays வரிசைப்படுத்த sort மற்றும் reverse method-டை பயன்படுத்த வேண்டும்.

[code lang=”ruby”]
numbers = [1, 4, 6, 7, 3, 2, 5]
=> [1, 4, 6, 7, 3, 2, 5]

numbers.sort
=> [1, 2, 3, 4, 5, 6, 7]
[/code]

அசல் array-யை வரிசைப்படுத்த sort! Method-டை பயன்படுத்த வேண்டும். Array கூறினை வரிசையை மாற்ற reverse method-டை பயன்படுத்தி செய்யலாம்.

[code lang=”ruby”]
numbers = [1, 4, 6, 7, 3, 2, 5]
=> [1, 4, 6, 7, 3, 2, 5]

numbers.sort!
=> [1, 2, 3, 4, 5, 6, 7]

numbers.reverse
=> [7, 6, 5, 4, 3, 2, 1]
[/code]

— தொடரும்

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

%d bloggers like this: