অপারেটর
পরিচিতি
Wave ভাষা বিভিন্ন অপারেটর প্রদান করে যাতে ভেরিয়েবলের মধ্যে গণনা, লজিক্যাল মূল্যায়ন, তুলনা, বিট অপারেশন ইত্যাদি করা যায়।
এই ডকুমেন্টে Wave তে ব্যবহৃত প্রধান অপারেটর সংক্রান্ত বর্ণনা দেয়া হয়েছে, যার মধ্যে ধরণের ভিত্তিতে প্রতি অপারেটরের কার্যপ্রণালী ও উদাহরণও অন্তর্ভুক্ত।
অপারেটর নিম্নলিখিত ক্যাটাগোরিতে ভাগ করা হয়েছে:
- গাণিতিক অপারেটর
 - তুলনা অপারেটর
 - যুক্তিসঙ্গত অপারেটর
 - বিট অপারেটর
 - বরাদ্দ অপারেটর
 - অন্যান্য বিশেষ অপারেটর
 
গাণিতিক অপারেটর
গাণিতিক অপারেটর সংখ্যা ডেটার উপর ভিত্তি করে মৌলিক গাণিতিক অপারেশন সম্পন্ন করে।
| অপারেটর | বর্ণনা | উদাহরণ (a = 10, b = 3) | 
|---|---|---|
+ | যোগ | a + b → 13 | 
- | বিয়োগ | a - b → 7 | 
* | গুণ | a * b → 30 | 
/ | ভাগ | a / b → 3 (পূর্ণ সংখ্যার ভাগ) | 
% | অবশিষ্ট অপারেশন | a % b → 1 | 
তুলনা অপারেটর
তুলনা অপারেটর দুটি মানের তুলনার ফলাফল হিসাবে একটি bool মান প্রদান করে।
| অপারেটর | বর্ণনা | উদাহরণ (a = 10, b = 3) | 
|---|---|---|
== | সমান | a == b → false | 
!= | বিভিন্ন | a != b → true | 
< | ছোট | a < b → false | 
> | বড় | a > b → true | 
<= | ছোট বা সমান | a <= 10 → true | 
>= | বড় অথবা সমান | a >= b → true | 
যুক্তিসঙ্গত অপারেটর
যুক্তিসঙ্গত অপারেটর bool মানের জন্য সত্য/মিথ্যা সংমিশ্রণ প্রক্রিয়া করে।
| অপারেটর | নাম | বর্ণনা | উদাহরণ | 
|---|---|---|---|
&& | এন্ড অপারেটর | দুটি মান সবসময় true, তখনই true | true && false → false | 
| \`\ | অথবা অপারেটর | যেকোন একটি true হলে true | `true \ | 
! | লজিক্যাল NOT | true মান কে false এ এবং false মান কে true এ পরিবর্তন করে | !true → false | 
বিট অপারেটর
বিট অপারেটরগুলি পূর্ণসংখ্যার ডাটা বিট ভিত্তিতে পরিচালনা করে।
| অপারেটর | নাম | বর্ণনা | উদাহরণ | 
|---|---|---|---|
& | বিট AND | দুই বিটই যদি 1 হয়, তাহলে ফলাফল 1 হয় | a & b → 2 | 
| \`\ | বিট OR | দুই বিটের মধ্যে যে কোন একটিও 1 হলে ফলাফল 1 হয় | `a \ | 
^ | বিট XOR | দুই বিট যদি ভিন্ন হয়, তাহলে ফলাফল 1 হয় | a ^ b → 5 | 
~ | বিট NOT | বিট উল্টো করে | ~a → -7 | 
<< | বামদিকে শিফট | বিটকে বামদিকে সরান | a << 1 → 12 | 
>> | ডানদিকে শিফট | বিটকে ডানদিকে সরান | a >> 1 → 3 | 
বরাদ্দ অপারেটর
মান কে ভ্যারিয়েবল এ সংরক্ষণ করতে ব্যবহার হয়। অধিকাংশ ক্ষেত্রে গাণিতিক অপারেটরের সাথে যুক্ত করে সংক্ষেপ করা যায়।
| অপারেটর | বর্ণনা | উদাহরণ (a = 5) | 
|---|---|---|
= | মৌলিক বরাদ্দ | a = 10 | 
+= | যোগ করার পর বরাদ্দ | a += 2 → 7 | 
-= | বিয়োগ করার পর বরাদ্দ | a -= 1 → 4 | 
*= | গুণ করার পর বরাদ্দ | a *= 3 → 15 | 
/= | ভাগ করার পর বরাদ্দ | a /= 5 → 1 | 
%= | ভাগশেষের পর বরাদ্দ | a %= 4 → 1 | 
অন্যান্য বিশেষ অপারেটর
Wave বিশেষ বা অনন্য অর্থ রয়েছে এমন অপারেটরও প্রদান করে।
| অপারেটর | নাম | বর্ণনা | উদাহরণ | 
|---|---|---|---|
?? | নাল মার্জ অপারেটর | বামপাশের মান নাল হলে ডানপাশের মান ব্যবহার করা হয় | a ?? b → a null হলে b | 
?: | শর্ত অপারেটর (তিন অপারেটর) | শর্ত অনুযায়ী মান নির্বাচন করুন | শর্ত ? সত্যমান : মিথ্যা মান | 
in | অন্তর্ভুক্তির যাচাই | মান সংগ্রহে রয়েছে কিনা যাচাই করুন | "a" তালিকায় আছে | 
is | টাইপ তুলনা অপারেটর | মানের টাইপ যাচাই করুন | x i32 | 
!& | NAND | যৌক্তিক NAND অপারেশন | উন্নত যৌক্তিক অপারেশন | 
| \`!\ | NOR | যৌক্তিক NOR অপারেশন | উন্নত যৌক্তিক অপারেশন | 
~^ | XNOR | যৌক্তিক XNOR অপারেশন | উন্নত যৌক্তিক অপারেশন |