اپراتور
معرفی
زبان 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 از عملیات ریاضی گرفته تا قضاوت منطقی، دستکاری بیت و کنترل شاخه شرطی را ارائه میدهد. این عملیاتها تعامل با متغیرها یا ایجاد شرایط را ارائه میدهند و ابزاری ضروری برای محاسبات پیچیده یا کنترل جریان هستند.
اولویت و جهت ترکیب هر عملگر در بخش «اولویت و ترتیب ارزیابی» بعداً بررسی خواهد شد.