ترتیب عملگرها | قواعد مربوط به اولویت عملگرها در VBA

ترتیب (اولویت) عملگرها در ریاضی مجموعه از قوانین است که مشخص می نماید هنگام ارزیابی یک عبارت ریاضی کدام عملگر باید زودتر انجام بشود. مشابه ریاضی زبان های برنامه نویسی نیز عملیات ریاضی، مقایسه ای و منطقی را طبق یک ترتیب از پیش تعیین شده انجام می دهند.

تعریف

در VBA وقتی چندین عملیات در یک عبارت رخ می دهد، هر قسمت بر اساس یک ترتیب از پیش تعیین شده که اولویت عملگرها نامیده می شود سنجیده و حل می شود.

آیا می‌دانید:

آموزش VBA یکی از بهترین راه‌ها برای بهینه‌سازی کار با برنامه‌های مختلف آفیس است. با این زبان می‌توانید فرآیندهای مختلف را شخصی‌سازی کنید و داده‌های خود را به شکلی که می‌خواهید مدیریت نمایید. VBA یک ابزار قدرتمند برای هر کاربری است که به دنبال کنترل بیشتر و خودکارسازی وظایف است.

موارد موثر بر ترتیب عملگرها

وقتی یک عبارت شامل بیش از یک گروه عملگر باشد، عملگرهای ریاضی ابتدا، سپس عملگرهای مقایسه ای (رابطه ای) و در نهایت عملگرهای منطقی سنجیده می شوند.

همه عملگرهای مقایسه ای (رابطه ای) اولویت یکسان دارند، این بدین معناست که این عملگرها بر اساس ترتیبی که از چپ به راست در یک عبارت ظاهر می شوند سنجیده خواهند شد.

عملگرهای ریاضی و منطقی طبق اولویت جدول زیر سنجیده می شوند:

ریاضی ( Arithmetic ) مقایسه ای ( Comparison ) منطقی ( Logical )
توان ( ^ ) تساوی (=) Not
منفی ( - ) نابرابری (<>) And
ضرب و تقسیم ( *و/ ) کوچکتر از (<) Or
تقسیم عدد صحیح ( \ ) بزرگتر از (>) Xor
باقیمانده تقسیم ( Mod ) کوچکتر یا مساوی (<=) Eqv
جمع و تفریق ( +و - ) بزرگتر یا مساوی (>=) Imp
ترکیب رشته ای ( & ) Like, Is

وقتی یک عبارت شامل ضرب و تقسیم با هم باشد، اولویت عملگرها از سمت چپ به راست سنجیده می شود. این موضوع در مورد جمع و تفریق نیز صادق می باشد.

پرانتزها می تواند برای لغو قواعد مربوط به ترتیب عملگرها و تحمیل سنجش زودتر از موعد بخش یا بخش هایی از عبارت استفاده شوند. عملیات داخل پرانتز ها همیشه زودتر از عملیات خارج از پرانتز سنجیده می شوند. عملیات داخل پرانتز به هر حال تابع اولویت عملگرها خواهد بود.

عملگر ترکیب رشته ای & یک عملگر ریاضی نمی باشد، اما در ترتیب عملگرها بعد از عملگرهای ریاضی و جلوتر از عملگرهای مقایسه ای (رابطه ای) سنجیده می شود.

عملگر Like با وجودی که یک عملگر تطبیق الگو می باشد با همه عملگرهای مقایسه ای (رابطه ای) حق تقدم یکسانی دارد.

عملگر Is یک عملگر مقایسه مرجع اشیاء می باشد. این عملگر دو شیء یا مقدار آن ها را مقایسه نمی کند و فقط بررسی می نماید که تعیین شود که آیا مرجع دو شیء مورد مقایسه به یک شیء واحد اشاره دارد یا خیر.

منبع

Operator precedence

دیدگاهتان را بنویسید