Variable என்பது ஒரு மதிப்பிற்கு (value) பெயரிட்டு பயன்படுத்த உதவும் ஒரு வழியாகும். Variable-கள் integer முதல் string வரை பல்வேறு எல்லையிலுள்ள மதிப்புகளை எடுக்கும். இந்த அத்தியாயத்தில் variables எப்படி அறிவிப்பதென்றும் (declare) மற்றும் மாற்றச் செய்வதென்றும் பார்க்கலாம்.
ரூபியின் constants:
ரூபி constant ஆனது ரூபி நிரலின்முழு செயல்பாட்டு காலத்திற்கும் (entire program execution), அதன் மதிப்பை மாற்றாமல் வைக்க பயன்படுவதாகும். Constants-ஐ அறிவிக்கும் பொழுது variable-லின் பெயரின் தொடக்கம் capital letter-ல் இருக்க வேண்டும். Constants-ன் variable பெயர் முழுவதையும் uppercase-ல் வைப்பது ஒரு பொதுவான வழக்கமாகும் (convention).
உதாரணத்துக்கு,
[code lang=”ruby”]
MYCONSTANT = "hello"
=> "hello"
[/code]
மற்ற நிரலாக்க மொழிகள் போல் இல்லாது, ரூபியில் constants-க்கு ஒதுக்கிய மதிப்பை பின்னர் மாற்ற முடியும். அவ்வாறு செய்யும்போது ரூபி interpreter ஒரு எச்சரிக்கை (warning) கொடுக்கும். இருந்தபோதும் மாற்றத்தை அனுமதிக்கும்.
[code lang=”ruby”]
MYCONSTANT = "hello2"
(irb):34: warning: already initialized constant Myconstant
=> "hello2"
[/code]
Java மற்றும் C போன்ற மொழிகள் strong அல்லது static variable typing பயன்படுத்தும். அப்படியென்றால், variable அறிவிக்கும்போது அது என்ன வகை (type) variable என்பதையும் அறிவிக்கவேண்டும். உதாரணமாக, ஒரு variable-லில் integer–ன் மதிப்பை வைக்க, அந்த variable-லை அறிவிக்கும் பொழுது, அதன் பெயருக்கு முன்பாக, ‘Integer’ என குறிப்பிட வேண்டும். இதுப்போல் அறிவிக்கப்பட்டபின், அந்த variable-ன் வகையை மாற்ற இயலாது.
ஆனால் ரூபி ஒரு dynamically typed language. அதாவது, variable-லை உருவாக்கும்போது அதன் வகையை குறிப்பிடத்தேவையில்லை . ரூபியின் interpreter ஆனது variable-க்கு கொடுக்கும் மதிப்பைக்கொண்டு அதன் வகையை அறிந்துகொள்ளும். மற்றொரு நன்மை என்னவென்றால் ஒருமுறை variable-லை அறிவித்து, ஒரு மதிப்பைக்கொடுத்தபின் மற்றொரு வகையின் மதிப்பிற்கு மாற்றிக்கொள்ளலாம்.
Variable-லை declare செய்தல்:
Variable-க்கு மதிப்பைக்கொடுக்க, அதன் பெயர் மற்றும் மதிப்பை, assignment operator(=)க்கு இரு பக்கமும் தர வேண்டும். உதாரணத்துக்கு, “Y” என்ற variable-க்கு 10 என்கிற மதிப்பைக்கொடுக்க பின்வருமாறு எழுதலாம்.
[code lang=”ruby”]
Y = 10
[/code]
பொதுவாக, வேறு scripting languages-ல் உள்ளது போல, ரூபியும் இணையான (parallel) assignment-யை ஆதரிக்கும். பல variables-க்கு மதிப்பை அளிக்க இது பயன்படும். அதை வழக்கமான முறையில், பின்வருமாறு செய்யலாம்.
[code lang=”ruby”]
a = 10
b = 20
c = 30
d = 40
[/code]
மற்றொரு முறையாக, இணையான assignment-யை பின்வருமாறு செய்யலாம்.
[code lang=”ruby”]
a, b, c, d = 10, 20, 30, 40
[/code]
ரூபியின் variable வகையைக்கண்டறிதல்:
ரூபி variable அறிவித்த பின், object class-ல் உள்ள kind_of? என்கிற method, அதன் வகையை கண்டுபிடிக்க உதவியாக இருக்கும். உதாரணத்துக்கு, நமது variable integer-ஆ என்பதை kind_of? Method-டை பயன்படுத்தி கண்டுப்பிடிக்கலாம்.
[code lang=”ruby”]
y.kind_of? Integer
=> true
[/code]
class method-டை பயன்படுத்தி நமது variable சரியாக எந்த class-யை சேர்ந்தது என்பதை கண்டுப்பிடிக்கலாம்.
[code lang=”ruby”]
y.class
=> Fixnum
[/code]
இந்த variable fixed number class-யை சேர்ந்தது என்று அறியப்படுகிறது.
இதே வேலையை string variable-ம் செய்யலாம்.
[code lang=”ruby”]
s = "hello"
s.class
=> String
[/code]
Variable-லின் வகையை மாற்றுதல்:
Variable வகையை மாற்றுவதற்கு எளிமையான வழி variable-க்கு புது மதிப்பை பொருத்துவதுதான். ரூபி, variable-லின் வகையை, புதிதாக கொடுக்கப்பட்ட மதிப்பைப் பொறுத்து மாற்றிக் கொள்ளும். உதாரணத்துக்கு, Integer மதிப்பு கொண்ட variable-லின் வகையை சரிர்க்கலாம்.
[code lang=”ruby”]
x = 10
=> 10
x.class
=> Fixnum
[/code]
ஒரு வேளை, x என்கிற variable-லை string-ஆக மாற்ற வேண்டுமெனில், ஏதேனுமொரு string-யை variable-க்கு பொருத்தினால் போதும். ரூபி நமக்காக variable வகையை மாற்றி விடும்.
[code lang=”ruby”]
x = "hello"
=> "hello"
x.class
=> String
[/code]
Variable-லின் மதிப்பை மாற்றுதல்:
ஒரு variable-லிருந்து மதிப்பை பெற்று அதை வேறொரு variable type ஆக மாற்ற வேண்டுமெனில், ரூபி variable classes-ல் methods உள்ளது. உதாரணத்துக்கு, fixnum class-ல் உள்ள to_f என்கிற method-டை பயன்படுத்தி integer மதிப்பை float–ஆக பெறலாம்.
[code lang=”ruby”]
y = 20
=> 20
y.to_f
=> 20.0
[/code]
அதேப்போல, to_s என்கிற method-டை பயன்படுத்தி ரூபியில் integer-ரை string-ஆகப்பெற இயலும். இவ்வகை to_* method-கள் வேண்டப்பட்ட வகையில், ஒரு புதிய மதிப்பைத்தருமேயன்றி, variable-ன் மதிப்பை மாற்றாது. to_f, to_s method-களைப்பயன்படுத்தியபிறகும், y-இன் மதிப்பு, 20-ஆகவே இருக்கும்.
to_s method-ல் மாற்ற வேண்டிய number base-யை argument-ஆக கொடுக்க வேண்டும். Number base கொடுக்கவில்லையெனில் அதை decimal-ஆக எடுத்துக் கொள்ளும்.
[code lang=”ruby”]
54321.to_s
=> "54321"
[/code]
மாறுதலாக, argument-ல் number base-யை 2 என்று கொடுத்து binary-ஆக மாற்றலாம்.
[code lang=”ruby”]
54321.to_s 2
=> "1101010000110001"
[/code]
Hexadecimal மற்றும் octal- ஆக மாற்ற:
[code lang=”ruby”]
54321.to_s 16
=> "d431"
54321.to_s 8
=> "152061"
[/code]
to_s method-ல் number base-யை 1 முதல் 36 வரை பயன்படுத்தலாம்.
— தொடரும்
பிரியா – priya.budsp@gmail.com – ஐக்கிய அரபு அமீரகம்