முந்தைய அத்தியாயத்தில் ரூபி 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; 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 – ஐக்கிய அரபு அமீரகம்