عملگرها
در دو فصل گذشته، در مورد انواع داده ها و همچنین ساختمان داده ها در روبی بحث شد. در این فصل، در مورد عملگرها و انجام عملیات های محاسباتی و منطقی صحبت می شود.
عملگرهای محاسباتی
عملگرهای محاسباتی، عملگرهایی هستند که برای انجام عملیات ریاضی به کار می روند و در مقدار تغییر ایجاد میکنند. عملیاتی مانند جمع، تفریق، ضرب و تقسیم از عملگرهای محاسباتی هستند. البته عملگرهای محاسباتی رو انواع دیگر داده ها نیز کار میکنند. در اینجا مثالی از به کارگیری عملیات محاسباتی روی اعداد را می بینیم :
a = 2
b = 3
c = a + b
d = c - b
عملیات روی رشته ها
از عمل جمع، میتوان برای الحاق دو رشته به یکدیگر، و از عمل ضرب میتوان برای تکرار یک رشته استفاده کرد.
str1 = "Hello "
str2 = "World!"
str = str1 + str2
str * 3
با اجرای کد فوق عبارت Hello, World! سه بار روی کنسول نمایان می شود.
عملیات روی آرایه ها
با عمل جمع، میتوان دو آرایه را به یکدیگر الحاق کرد. با عمل تفریق، میتوان تعدادی از اعضا را حذف نمود و با عمل ضرب نیز میتوان یک آرایه را چندین بار تکرار کرد.
array1 = [1, 2, 3]
array2 = [4, 5, 6]
array3 = array1 + array2
array = array3 - [2, 5]
array * 2
عملگرهای منطقی
عملگرهای منطقی، برای مقایسه و بررسی تساوی به کار می روند. این عملگرها، با مقدار کاری ندارند بلکه نتیجه درست یا غلط بر میگردانند. عملگرهای زیر همه از عملگرهای منطقی محسوب می شوند :
a > b # بزرگتر
a < b # کوچکتر
a >= b # بزرگتر مساوی
a <= b # کوچکتر مساوی
a == b # تساوی
a === b # تساوی
عملگرهای بیتی
این عملگرها، روی بیت به بیت داده های ورودی، اعمال می شوند. با استفاده از این عملگرها می توان به اشتراک بیت های دو مقدار، نقیض یک مقدار و حتی حاصل جمع یک مقدار به مقدار دیگر، پی برد.
AND
با استفاده از این عملگر، اشتراک بیت ها گرفته می شود، میتوان فهمید دو مقدار چند بیت مشترک دارند.
2 & 3
OR
با استفاده از این عملگر، میتوان اجتماع دو مقدار را به دست آورد
2 | 3
NOT
با استفاده از این عملگر نیز، ما نقیض یک مقدار یا مکمل ۱ آن را به دست می آوریم:
~2
XOR
با استفاده از این عملگر، میتوان حاصل جمع دو مقدار را حساب نمود، همچنین توازن بیت های فرد دو مقدار نیز محاسبه می شود.
2 ^ 3
جمع بندی
در این فصل، با سه نوع عملگر مهم در زبان روبی آشنا شدید. از فصل بعدی، به طور جدی، شروع به نوشتن برنامه های واقعی خواهیم کرد، برنامه هایی که میتوانند در دنیای واقعی، مورد استفاده قرار گرفته و بخشی از پروژه های بزرگتر باشند.