சரம் (String) என்பது குறியீடுகளின் (characters) குழுவாகும். இது மனிதர்கள் வார்த்தைகள் மற்றும் சொற்றொடர்களை படிக்க உதவுகிறது. சரத்தை கையாளும் பகுதி நிரலாக்கத்தில் ஒரு முக்கிய பகுதியாகும். இந்த அத்தியாயத்தில் சரங்களின் அடிப்படைகளை காண்போம்.
ரூபியில் சரங்களை உருவாக்குதல்:
ரூபியில் String வர்க்கத்திலிருந்து சரங்களை உருவாக்கலாம். கூடுதலாக, இந்த பொருளில் பல்வேறு செயற்கூறுகள் உள்ளன. இதனை பயன்படுத்தி சரங்களைக் கையாளலாம்.
String வர்க்கத்திலுள்ள new செயற்கூற்றைக் கொண்டு ஒரு புது சரத்தை உருவாக்கலாம்.
myString = String.new => ""
மேலே உள்ள செயற்கூறு ஒரு காலியான சரத்தை உருவாக்கும். மாறாக new செயற்கூற்றில் ஒரு சரத்தை argument-ல் அனுப்பி ஒரு புது சரத்தை உருவாக்கலாம்.
myString = String.new("This is my string. Get your own string")
மற்றொரு வழியாக, kernel-லிலுள்ள string செயற்கூற்றை பயன்படுத்தியும் ஒரு சரத்தை உருவாக்கலாம்.
myString = String("This is also my string")
ஆனால், எளிய வழியில் சரத்தை உருவாக்க, ஒரு மாறியில் மேற்கோள் குறிகளுக்கிடையே (quotes) கொடுத்தால் போதுமானது. மற்றவற்றை ரூபி பார்த்து கொள்ளும்:
myString = "This is also my string"
ரூபி strings-யை quote செய்தல்:
சரங்களை இரட்டை மேற்கோள் குறியிலோ (double quotes(“)) அல்லது ஒற்றை மேற்கோள் குறியிலோ (single quotes(‘)) கொடுக்க முடியும். இரட்டை மேற்கோள் குறியிலுள்ள தப்புவிக்கும் குறியீட்டை (escape character) interpret செய்தால், கொடுக்கப்பட்டிருக்கும் சிறப்பு குறியீட்டிற்கு ஏற்ப, interpreter-ன் வெளியீடு இருக்கும்.
பின்வரும் உதாரணத்தில் இரட்டை மேற்கோள் குறியின் பயன்பாட்டை பார்ப்போம்:
myString = "This is also my string.\nGet your own string" puts myString This is also my string. Get your own string
இதில் \n-என்பது ஒரு புதியவரியை உணர்த்தும் சிறப்பு குறியீடாகும். இதை interpret செய்தால் இரு வரிகளில் சரம் அச்சிடப்படும். இதே மதிப்பு ஒற்றை மேற்கோள் குறியில் மாறுப்பட்ட விடையை தரும்.
myString = 'This is also my string.\nGet your own string' puts myString This is also my string.\nGet your own string
இதில் ‘\n’ அப்படியே அச்சாகும், வேறு எந்த சிறப்பு செயலும் செய்யாது.
பொதுவான delimited strings:
ரூபி எந்த குறியீட்டை அதன் வரம்பாக (delimiter) பயன்படுத்த வேண்டுமோ அதற்கு முன்னதாக % என்ற குறியீட்டை கொடுத்தால் போதும். உதாரணத்திற்கு, நாம் ampersand(&)-டை வரம்பாக பயன்படுத்தி பார்ப்போம்:
myString = %&This is my String&
இவ்வாறு வேறொரு குறியீட்டை எல்லையாக பயன்படுத்தும் பொழுது, சரத்தில் உள்ள ஒற்றை மற்றும் இரட்டை மேற்கோள் குறியீடு எல்லைக்குறியீடாக interpreter எடுத்துக்கொள்ளாது.
myString = %&This is "my" String& puts myString This is "my" String
மேலும் parantheses(()), braces({}), square bracket([])-யையும் எல்லைக்குறியீடாக பயன்படுத்தலாம்.
myString = %(This is my String) myString = %[This is my String] myString = %{This is my String}
ரூபி மேலும் சில விசேஷமான எல்லைக்குறியீடுகளைக்கொடுக்கிறது. இரட்டை மேற்கோள் குறிக்கு இணையாக %Q, ஒற்றை மேற்கோள் குறிக்கு %q மற்றும் %x backquote(`) –யை எல்லைக்குறியீடுகளாகப்பயன்படுத்தலாம்.
இன்னும் எளிய வழியில், ரூபி சரத்தில் மேற்கோள் குறியை பயன்படுத்த முன்னதாக backslash(\)-யை பயன்படுத்த வேண்டும்.
myString = "This is \"my\" String" myString = 'This is \'my\' String'
மற்றொரு வழியாக, தப்புவிக்கும் குறியீட்டைப்பயன்படுத்தவில்லையெனில் இரட்டை மேற்கோள் குறிக்குள், உள்ள் சரத்தில் ஒற்றை மேற்கோள் குறியையும், ஒற்றை மேற்கோள் குறிக்குள் உள்ள சரத்தில் இரட்டை மேற்கோள் குறியையும் பயன்படுத்த வேண்டும்:
myString = 'This is "my" String' myString = "This is 'my' String"
ரூபி here documents:
Here document (அல்லது heredoc என்றும் அறியலாம்). இது நாம் விரும்பிய வகையில் சரங்களை எழுத உதவுகிறது.
இவ்வகை ஆவணத்தை உருவாக்க << தொடர்ந்து ஒரு சொற்றொடரை கொடுக்க வேண்டும். அந்த சொற்றொடரானது ஆவணத்தின் எல்லைக்குறியீடாக இருக்கும். பின்வரும் உதாரணத்தில் நாம் “Doc” என்னும் சரத்தை எல்லைக்குறியீடாகப்பயன்படுத்தியுள்ளோம்:
myText = <<DOC Please Detach and return this coupon with your payment. Do not send cash or coins. Please write your name and account number on the check and make checks payable to: Acme Corporation Thank you for your business. DOC
நாம் எவ்வடிவத்தில் சரத்தை எழுதினோமோ, அந்த வடிவமைப்பில் எவ்வித மாற்றமுமின்றி “myText” என்ற சரம் அச்சிடப்படும்.
puts myText Please Detach and return this coupon with your payment. Do not send cash or coins. Please write your name and account number on the check and make checks payable to: Acme Corporation Thank you for your business.
String objects:
ரூபியில் எல்லாமே பொருட்கள் தான் என முந்தைய அத்தியாயத்தில் அறிந்தோம். ஆகவே சரங்களும் பொருட்கள் தான். இந்த சரம் என்னும் பொருளில் பல செயற்கூறுகள் உள்ளன. இவற்றை பயன்படுத்தி சரத்தின் விவரங்களை அறியலாம். உதாரணத்திற்கு சரம் காலியாக உள்ளதா என்பதை empty? என்ற செயற்கூற்றைக் கொண்டு அறியலாம்.
myString.empty? => true
மேலும் சரத்தின் நீளத்தையும் அறிய length மற்றும் size செயற்கூறுகளை பயன்படுத்தி அறியலாம்.
myString = "Hello" myString.length => 5 myString.size => 5
— தொடரும்
பிரியா – priya.budsp@gmail.com – ஐக்கிய அரபு அமீரகம்