ترتیب (اولویت) عملگرها در ریاضی مجموعه از قوانین است که مشخص می نماید هنگام ارزیابی یک عبارت ریاضی کدام عملگر باید زودتر انجام بشود. مشابه ریاضی زبان های برنامه نویسی نیز عملیات ریاضی، مقایسه ای و منطقی را طبق یک ترتیب از پیش تعیین شده انجام می دهند.
تعریف
در VBA وقتی چندین عملیات در یک عبارت رخ می دهد، هر قسمت بر اساس یک ترتیب از پیش تعیین شده که اولویت عملگرها نامیده می شود سنجیده و حل می شود.
موارد موثر بر ترتیب عملگرها
وقتی یک عبارت شامل بیش از یک گروه عملگر باشد، عملگرهای ریاضی ابتدا، سپس عملگرهای مقایسه ای (رابطه ای) و در نهایت عملگرهای منطقی سنجیده می شوند.
همه عملگرهای مقایسه ای (رابطه ای) اولویت یکسان دارند، این بدین معناست که این عملگرها بر اساس ترتیبی که از چپ به راست در یک عبارت ظاهر می شوند سنجیده خواهند شد.
عملگرهای ریاضی و منطقی طبق اولویت جدول زیر سنجیده می شوند:
ریاضی ( Arithmetic ) | مقایسه ای ( Comparison ) | منطقی ( Logical ) |
توان ( ^ ) |
تساوی (= ) |
Not |
منفی ( - ) |
نابرابری (<> ) |
And |
ضرب و تقسیم ( * و/ ) |
کوچکتر از (< ) |
Or |
تقسیم عدد صحیح ( \ ) |
بزرگتر از (> ) |
Xor |
باقیمانده تقسیم ( Mod ) |
کوچکتر یا مساوی (<= ) |
Eqv |
جمع و تفریق ( + و - ) |
بزرگتر یا مساوی (>= ) |
Imp |
ترکیب رشته ای ( & ) |
Like, Is |
وقتی یک عبارت شامل ضرب و تقسیم با هم باشد، اولویت عملگرها از سمت چپ به راست سنجیده می شود. این موضوع در مورد جمع و تفریق نیز صادق می باشد.
پرانتزها می تواند برای لغو قواعد مربوط به ترتیب عملگرها و تحمیل سنجش زودتر از موعد بخش یا بخش هایی از عبارت استفاده شوند. عملیات داخل پرانتز ها همیشه زودتر از عملیات خارج از پرانتز سنجیده می شوند. عملیات داخل پرانتز به هر حال تابع اولویت عملگرها خواهد بود.
عملگر ترکیب رشته ای &
یک عملگر ریاضی نمی باشد، اما در ترتیب عملگرها بعد از عملگرهای ریاضی و جلوتر از عملگرهای مقایسه ای (رابطه ای) سنجیده می شود.
عملگر Like با وجودی که یک عملگر تطبیق الگو می باشد با همه عملگرهای مقایسه ای (رابطه ای) حق تقدم یکسانی دارد.
عملگر Is یک عملگر مقایسه مرجع اشیاء می باشد. این عملگر دو شیء یا مقدار آن ها را مقایسه نمی کند و فقط بررسی می نماید که تعیین شود که آیا مرجع دو شیء مورد مقایسه به یک شیء واحد اشاره دارد یا خیر.
منبع
بیشتر بخوانید
دستور Dim: اعلان متغیرها و اختصاص فضای حافظه
انواع داده VBA: راهنمای انواع داده و محدوده مقادیر آنها
دستور Option Explicit | نحوه اعلان متغیرها در ویژوال بیسیک
عملگر Like: مقایسه و تطبیق رشته ها با یکدیگر در VBA
دستور ReDim | تغییر اندازه و ابعاد آرایه پویا در ویژوال بیسیک
دستور Static | اعلان متغیر استاتیک درون روال در ویژوال بیسیک