இந்த அத்தியாயத்தில் ரூபியின் expressions உருவாக்க பயன்படும் செயற்குறிகளின் (operators) அடிப்படைகளை காணலாம். ரூபியில் பல்வேறு செயற்குறிகள் உள்ளன.
- Assignment Operators
- Math Operators
- Comparison Operators
- Bitwise Operators
ரூபி செயல்பாடுகள்:
எந்த மதிப்பை கொண்டு கணக்கீடு செய்யபடுகிறதோ அது செயலேற்பி (operand) ஆகும். கணக்கீடு செய்ய பயன்படுவதை செயற்குறிகள் (operators) எனலாம். செயற்குறிகளின் இரு பக்கமும் செயலேற்பிகள் இருக்கும். செயல்பாட்டின் விடையை assignment operator(=)-ரை பயன்படுத்தி ஒரு மாறிக்கு வழங்க வேண்டும். Irb-யில் பெரும்பாலான அடிப்படை செயல்பாடுகளை (operation) செயல்படுத்த முடியும்.
[code lang=”ruby”]
1 + 1
=> 2
[/code]
இப்பொழுது, “result” என்னும் மாறியில் விடையை வைக்கலாம்.
[code lang=”ruby”]
result = 1 + 1
=> 2
[/code]
ரூபியில் எண்கணித செயல்பாடுகள்:
ரூபியில் கணித செயல்பாடுகளுக்கென(arithmetic operations) பல அடிப்படையான செயற்குறிகள் உள்ளன, அவை பின்வருமாறு.
Operator |
Description |
---|---|
+ |
செயற்குறியின் இருபக்கம் உள்ள மதிப்பினை கூட்டும் |
– |
இடது கை செயலேற்பியிலிருந்து வலது கை செயலேற்பியை கழிக்கும் |
* |
செயற்குறியின் இருபக்கம் உள்ள மதிப்பினை பெருக்கும் |
/ |
வலது கை செயலேற்பியால் இடது கை செயலேற்பியை வகுக்கும். |
% |
Modulus – வலது கை செயலேற்பியால் இடது கை செயலேற்பியை வகுத்து மீதியை திருப்பி அனுப்பும் |
** |
Exponent – exponential (power) கணக்கீடு செய்யும் |
இரண்டு integer-களை வகுக்கும் பொழுது, விடையும், ஒரு integer -ஆகவே இருக்கும். விடையை truncate செய்யாமல், தசம இலக்கங்களுடன், முழு எண்ணாக வேண்டுமெனில், செயல்பாட்டின் குறைந்தது ஒரு செயலேற்பியாவது float-ஆக கொடுக்க வேண்டும்.
[code lang=”ruby”]
10 / 7
=> 1
[/code]
மேலே உள்ள எடுத்துக்காட்டில் விடை ஆனது அருகிலுள்ள முழு எண்ணாக ஆக்கப்பட்டுள்ளது. ஒரு செயலேற்பியை float-ஆக கொடுத்தால், மிக சரியான பதிலை பெறலாம்.
[code lang=”ruby”]
10.0 / 7
=> 1.42857142857143
[/code]
ரூபி assignment operators:
assignment operator-ஆனது, ஒரு மாறிக்கு மதிப்பினை வழங்க பயன்படுகிறது. எடுத்துக்காட்டாக, இரு எண்களை கூட்டி, அதன் மதிப்பை ஒரு மாறிக்கு வழங்கவேண்டுமெனில், பின்வருமாறு செயற்குறிகளை பயன்படுத்தலாம்.
[code lang=”ruby”]
x = 2
y = 3
z = x + y # 5
[/code]
ஒரு கணித செயல்பாட்டின் விடையை, அதன் செயலேற்பிகளுள் ஒன்றிற்கு வழங்குவது, சாதாரணமாக நிரலாலர்களிடம் காணப்படும் வழக்கமாகும். இதனை பின்வருமாறு எழுதலாம்.
[code lang=”ruby”]
x = 2
y = 3
x = x + y # 5
[/code]
இதை சுருக்கமாக செய்வதற்கு ரூபியில், சில எளிய செயற்குறிகள் உண்டு. உதாரணமாக,
[code lang=”ruby”]
x = 2
y = 3
x += y # 5
[/code]
இதில் பல்வேறு assignment operators உள்ளது. மாறியில் மதிப்பை வைப்பதற்கு முன்னரே, செயலேற்பியின் கணக்கீட முடிந்து விடுகிறது. இது எண்கணிதம் மற்றும் assignment operator இணைந்ததாகும். இந்த வகையிலுள்ள பொதுவான செயற்குறிகள் பின்வருமாறு.
Combined Operator |
Equivalent |
---|---|
x += y |
x = x + y |
x -= y |
x = x – y |
x /= y |
x = x / y |
x *= y |
x = x * y |
x %= y |
x = x % y |
x **= y |
x = x ** y |
இந்த இணைந்த செயற்குறிகளைக்கொண்டு, இரு மாறிகளின் எண்கணித செயல்பாட்டின் விடையை எளிய வழியில் கொடுக்கலாம். இரு variable-லின் கணக்கீடு விடை ஆனது முதல் மாறியில் வைக்கப்படுகிறது. உதாரணத்திற்கு,
[code lang=”ruby”]
x = 10
x += 5 # variable x-ல் மதிப்பு 15 வைக்கப்படுகிறது (x = x + 5 க்கு இணையானது)
y = 20
y -= 10 # variable y-ல் மதிப்பு 10 வைக்கப்படுகிறது (y = y – 10 க்கு இணையானது)
x = 10
y = 5
x /= y # variable x-ல் மதிப்பு 2 வைக்கப்படுகிறது (x = x / y க்கு இணையானது)
[/code]
இணை assignment:
ரூபியில், variable-க்கு இணை (parallel) assignment செய்ய முடியும். பல மாறிகளுக்கு ஒரு வரியிலேயே தொடக்க மதிப்பை கொடுக்க முடியும்.
[code lang=”ruby”]
a = 10
b = 20
c = 30
[/code]
இணை assignment-டை பயன்படுத்தி மாறிகளுக்கு தொடக்க மதிப்பை கொடுக்கலாம்.
[code lang=”ruby”]
a, b, c = 10, 20, 30
[/code]
இணை assignment-டை பயன்படுத்தி இரு மாறிகளிலிலுள்ள மதிப்பை இடமாற்றம் செய்யவும் முடியும்.
[code lang=”ruby”]
a, b = b, a
[/code]
ரூபி ஒப்பீட்டு செயற்குறிகள்:
இரு மதிப்புகளின் சமநிலையை சரிப்பார்க்க ஒப்பீட்டு செயற்குறிகள் (comparison operators) பயன்படுத்தலாம். இதற்கு ரூபியில் பல செயற்குறிகள் உள்ளன:
Comparison Operator |
Description |
---|---|
== |
சமத்தன்மையை சரிபார்க்கும். True அல்லது false-யை திருப்பி அனுப்பும். |
.eql? |
இது == போன்றதுதான். |
!= |
சமனின்மையை சரிப்பார்க்கும். இரு மதிப்புகள் சமனில்லையென்றால் true-வையும், சமமானதென்றால் false-யையும் திருப்பி அனுப்பும். |
< |
Less than- இரண்டாவது செயலேற்பியை விட முதல் செயலேற்பி சிறியதாக இருந்தால்true-வையும் இல்லையென்றால் false-யை திருப்பி அனுப்பும். |
> |
Greater than- இரண்டாவது செயலேற்பியை விட முதல் செயலேற்பி பெரியதாக இருந்தால் true-வையும் இல்லையென்றால் false-யை திருப்பி அனுப்பும். |
>= |
Greater than or equal to- இரண்டாவது செயலேற்பியை விட முதலாவது செயலேற்பி பெரியதாகவோ அல்லது சமமாகவோ இருந்தால் true–வையும் அல்லது false-யையும் திருப்பி அனுப்பும். |
<= |
less than or equal to- இரண்டாவது செயலேற்பியை விட முதல் செயலேற்பி சிறியதாகவோ அல்லது சமமாகவோ இருந்தால் true–வையும் அல்லது false-யையும் திருப்பி அனுப்பும். |
<=> |
Combined comparison operator- இரண்டு செயலேற்பிகளும் சமமாக இருந்தால் 0-வை திருப்பி அனுப்பும், முதல் செயலேற்பியானது இரண்டாவது செயலேற்பியை விட பெரியதாக இருந்தால் 1-னையும், முதல் செயலேற்பி சிறியதாக இருந்தால் -1-னையும் திருப்பி அனுப்பும். |
சில எடுத்துக்காட்டுகளை பார்ப்போம்.
[code lang=”ruby”]
1 == 1 # true
1.eql? 2 # false
10 < 1 # false
10 <=> 10 # 0
10 <=> 9 # 1
10 <=> 11 # -1
[/code]
ரூபி Bitwise operators:
எண்களை bit அளவில் கணக்கீடுகள் செய்ய Bitwise operators பயன்படுத்தலாம். கணினி எல்லாவற்றையும் binary மதிப்பாகவே பார்க்கும் (1 மற்றும் 0). உதாரணத்திற்கு, கணினி 520 எண்ணை 01010 binary மதிப்பாக பார்க்கும்.
Combined Operator |
Equivalent |
---|---|
~ |
Bitwise NOT (Complement) |
| |
Bitwise OR |
& |
Bitwise AND |
^ |
Bitwise Exclusive OR |
<< |
Bitwise Shift Left |
>> |
Bitwise Shift Right |
ருபியில் எண்கணித செயற்குறிகளைப்போல, bitwise operator-களையும், assignment operator-உடன் இணைத்து பயன்படுத்தலாம் ( ~=, >>=, <<= ^=, &=).
— தொடரும்
பிரியா – priya.budsp@gmail.com – ஐக்கிய அரபு அமீரகம்