پرش به مطلب اصلی

اپراتور

معرفی

زبان Wave اپراتورهای متنوعی را ارائه می دهد تا محاسبات میان متغیرها، قضاوت‌های منطقی، مقایسه‌ها و عملیات بیتی را انجام دهد.

این سند اپراتورهای اصلی که در Wave می‌توان استفاده کرد را به صورت طبقه بندی شده توضیح داده و همچنین روش عملکرد و مثال هر کدام را ارائه می‌دهد.

اپراتورها به دسته بندی های زیر تقسیم می شوند:

  • اپراتورهای حسابی
  • اپراتورهای مقایسه‌ای
  • اپراتورهای منطقی
  • اپراتورهای بیتی
  • اپراتورهای تخصیص
  • سایر اپراتورهای خاص

اپراتورهای حسابی

اپراتورهای حسابی عملیات ریاضی پایه را بر روی داده های عددی انجام می‌دهند.

اپراتورتوضیحمثال (a = 10, b = 3)
+جمعa + b۱۳
-تفریقa - b۷
*ضربa * b۳۰
/تقسیمa / b۳ (تقسیم صحیح)
%عملیات باقیماندهa % b۱

اپراتورهای مقایسه‌ای

اپراتورهای مقایسه‌ای نتیجه مقایسه دو مقدار را به صورت یک مقدار bool بازمی‌گردانند.

اپراتورتوضیحمثال (a = 10, b = 3)
==مساویa == bخطا
!=نامساویa != bدرست
<کمترa < bخطا
>بزرگترa > bدرست
<=کمتر یا مساویa <= 10درست
>=بزرگتر یا مساویa >= bدرست

اپراتورهای منطقی

اپراتورهای منطقی ترکیب‌های صحیح/غلط از مقادیر bool را پردازش می‌کنند.

اپراتورنامتوضیحمثال
&&و منطقیدر صورتی که هر دو مقدار درست باشند، درست است.true && falseخطا
\`\یا منطقیاگر یک مورد از آن‌ها درست باشد، درست است.\`true \
!NOT منطقیدرست را به خطا و خطا را به درست معکوس می‌کند.!trueخطا

عملگرهای بیتی

عملگرهای بیتی داده‌های عدد صحیح را در سطح بیت دستکاری می‌کنند.

اپراتورنامتوضیحمثال
&AND بیتیدر صورتی که هر دو بیت ۱ باشند، ۱ است.a & b۲
\`\OR بیتیاگر یکی از دو بیت ۱ باشد، ۱ است.\`a \
^XOR بیتیزمانی که دو بیت متفاوت باشند، ۱ است.a ^ b۵
~NOT بیتیبیت‌ها را معکوس کنید.~a
<<شیفت به چپبیت‌ها را به سمت چپ حرکت دهید.a << 1۱۲
>>شیفت به راستبیت‌ها را به سمت راست حرکت دهید.a >> 1۳

اپراتورهای تخصیص

هنگام ذخیره مقدار در متغیر استفاده می‌شود. در بیشتر موارد، می‌توان آن‌ها را با اپراتورهای حساب ترکیب و اختصار کرد.

اپراتورتوضیحمثال (a = ۵)
=تخصیص پایهa = ۱۰
+=تخصیص بعد از جمعa += ۲۷
-=تخصیص بعد از تفریقa -= ۱۴
*=تخصیص بعد از ضربa *= ۳۱۵
/=تخصیص بعد از تقسیمa /= ۵۱
%=تخصیص باقیماندهa %= ۴۱

عملگرهای خاص دیگر

از دیگر عملگرهای مخصوصی که Wave ارائه می‌دهد، می‌توان به موارد زیر اشاره کرد.

عملگرنامتوضیحاتمثال
??عملگر الحاق nullدر صورتی که مقدار سمت چپ null باشد، از مقدار سمت راست استفاده کنa ?? bاگر a null باشد، b استفاده شود
?:عملگر شرطی (عملگر سه‌تایی)انتخاب مقدار بر اساس شرطشرط ? مقدار درست : مقدار نادرست
inبررسی شمولبررسی اینکه آیا مقدار در مجموعه‌ای وجود دارد یا نه"a" در لیست
isعملگر مقایسه نوعتایپ مقدار را بررسی کنx تایپ i32 دارد؟
!&ونډعملیات منطقی وَندعملیات منطقی پیشرفته
\`!\ورعملیات منطقی وَرعملیات منطقی پیشرفته
~^XNORعملیات منطقی‌ی XNORعملیات منطقی پیشرفته

خلاصه

Wave از عملیات ریاضی گرفته تا قضاوت منطقی، دستکاری بیت و کنترل شاخه شرطی را ارائه می‌دهد. این عملیات‌ها تعامل با متغیرها یا ایجاد شرایط را ارائه می‌دهند و ابزاری ضروری برای محاسبات پیچیده یا کنترل جریان هستند.

اولویت و جهت ترکیب هر عملگر در بخش «اولویت و ترتیب ارزیابی» بعداً بررسی خواهد شد.