نظر یک متن توضیحی است که توسط رایانه پردازش یا نگهداری نمی شود. راه های مختلفی برای گنجاندن نظرات در برنامه GAMS وجود دارد.
خطوط خالی
کاربر میتواند آزادانه خطوط خالی را برای تنظیم بخشهای خاص و افزایش خوانایی وارد کند. به عنوان مثال، در trnsport خطوط خالی بین پارامترهای مختلف وجود دارد:
Sets i "canning plants" / seattle, san-diego / j "markets" / new-york, chicago, topeka / ; Parameters a(i) "capacity of plant i in cases" / seattle 350 san-diego 600 / b(j) "demand at market j in cases" / new-york 325 chicago 300 topeka 275 / ;
نظرات تک خطی
کاربران میتوانند با قرار دادن یک ستاره * در ستون ۱، یک نظر تک خطی را روی هر خطی درج کنند. متنی که پس از ستاره قرار میگیرد، نظر است و ممکن است حاوی کلمات، پیامها یا هر محتوای دیگری رزرو شده GAMS باشد. توسط کامپایلر GAMS کاملاً نادیده گرفته می شود. توجه داشته باشید که چندین خط متوالی ممکن است مانند مثال زیر، نظرات تک خطی باشند.
ستاره پیش فرض * ممکن است با نمادهای دیگر جایگزین شود. GAMS گزینه کنترل دلار $comment را برای سفارشی کردن کاراکتر نظر فراهم می کند (برای اطلاعات بیشتر در مورد گزینه های کنترل دلار، به بخش گزینه های کنترل دلار مراجعه کنید). کاراکتر نظر جدید را نمی توان مانند قبل در ستون ۱ استفاده کرد، زیرا اکنون معنای خاصی دارد. تغییر کاراکتر نظر باید با دقت زیاد استفاده شود. یک مثال در اینجا قابل مشاهده است:
*normal comment *next line is a deactivated GAMS statement * x=sum(I,z(i)); $comment ! !comment with new character $comment * *now we are back to how it should be
ر خط چهارم، کاراکتر نظر جدید! جایگزین پیشفرض GAMS * بهعنوان جداکننده نظرات میشود. توجه داشته باشید که نظرات تک خطی در چاپ اکو خروجی GAMS به صورت خطوط شماره گذاری شده ظاهر می شوند. برای جزئیات بیشتر به بخش Echo Print فایل ورودی مراجعه کنید.
مسدود کردن نظرات
برای کامنتهای طولانیتر ممکن است از جداکنندههای «بلاک» ویژه استفاده شود که باعث میشود GAMS کل بخش برنامه را نادیده بگیرد. گزینه کنترل دلار $ontext شروع بلوک نظرات و گزینه $offtext پایان را نشان می دهد. توجه داشته باشید که نماد $ باید در موقعیت کاراکتر اول باشد. مثال زیر استفاده از نظر بلوک را نشان می دهد و همچنین حاوی اطلاعات مفیدی است. برای اطلاعات بیشتر در مورد گزینه های کنترل دلار، به بخش گزینه های کنترل دلار مراجعه کنید.
$ontext Following a $ontext directive in column 1 all lines are ignored by GAMS but printed on the output file until the matching $offtext is encountered, also in column 1. This facility is often used to logically remove parts of programs that are not used every time, such as statements producing voluminous reports. Every $ontext must have a matching $offtext in the same file $offtext
توجه داشته باشید که نظرات بلوک در چاپ اکو بدون شماره خطوط ظاهر می شود. برای جزئیات بیشتر به بخش Echo Print فایل ورودی مراجعه کنید.
نظرات پایان خط
نظرات همچنین ممکن است در انتهای خطی که حاوی کد GAMS است قرار گیرد. گزینه کنترل دلار $onEolCom نظرات پایان خط را فعال می کند. نماد پیش فرض برای نشان دادن شروع نظر یک علامت تعجب دوتایی است!!. این نماد ممکن است با گزینه $eolCom و سپس نماد مورد نظر که ممکن است یک کاراکتر یا یک دنباله دو نویسه باشد، بازنشانی شود. مثال زیر به عنوان مثال عمل می کند. برای اطلاعات بیشتر در مورد گزینه های کنترل دلار، به بخش گزینه های کنترل دلار مراجعه کنید.
Scalar x /0/; $onEolCom x=x+1; !! eol comment x = x !! eol comment in line of GAMS statement, where the GAMS statement continues to the next line +۱; $eolCom && x=x+1; && eol comment with new symbol
توجه داشته باشید که گزینه افزودن نظرات پایانی ممکن است با گزینه کنترل دلار $offEolCom غیرفعال شود. نظرات انتهای خط در چاپ اکو در خطوط مناسب ظاهر می شود. برای جزئیات بیشتر به بخش Echo Print فایل ورودی مراجعه کنید.
نظرات درون خطی
Scalar x /0/; $onInLine x=x /* in-line comment*/ +1; x=x /* in-line comment in line that continues to next line */ +۱; $inLineCom /& &/ x=x /& in-line comment with new character &/ +1;
نظرات همچنین ممکن است در یک خط کد GAMS ظاهر شوند. گزینه کنترل دلار $onInline نظرات درون خطی را فعال می کند. بهطور پیشفرض، نمادهای نظر درونخطی روی دو جفت کاراکتر « « و «» تنظیم میشوند، جایی که «» نشاندهنده شروع نظر درون خطی و «» نشاندهنده پایان یافتن نظر درونخطی است. نظر ممکن است خطوطی را بپوشاند تا زمانی که کاراکترهای انتهای نظر با آنها مواجه شود. نمادهای نظرات درون خطی ممکن است با گزینه $inLineCom و سپس جفت کاراکتر مورد نظر بازنشانی شوند. مثال زیر به عنوان مثال عمل می کند. برای اطلاعات بیشتر در مورد گزینه های کنترل دلار، به بخش گزینه های کنترل دلار مراجعه کنید.
توجه داشته باشید که گزینه افزودن نظرات درون خطی ممکن است با گزینه کنترل دلار $offInline غیرفعال شود. نظرات درون خطی در چاپ اکو در خطوط مناسب ظاهر می شود. برای جزئیات بیشتر به بخش Echo Print فایل ورودی مراجعه کنید. توجه داشته باشید که نظرات درون خطی ممکن است با استفاده از گزینه کنترل دلار $onNestCom مجاز باشد.
نظرات حاشیه خارج
GAMS امکان تعریف حاشیه ها را فراهم می کند. کد فعال در حاشیه است، هر چیزی خارج از حاشیه تنظیم شده توسط کامپایلر نادیده گرفته می شود و به عنوان نظر تلقی می شود. گزینه کنترل دلار $onMargin علامت گذاری حاشیه را فعال می کند و $offMargin آن را غیرفعال می کند. گزینه $minCol برای تعیین ستون اول استفاده می شود، جایی که ممکن است کد GAMS که قرار است کامپایل شود ظاهر شود. به طور مشابه، گزینه $maxCol برای تعیین آخرین ستون برای کد GAMS استفاده می شود. مثال زیر نشان می دهد که چگونه این کار می کند. برای اطلاعات بیشتر در مورد گزینه های کنترل دلار، به بخش گزینه های کنترل دلار مراجعه کنید.
$ontext ۱ ۲ ۳ ۴ ۵ ۶ ۱۲۳۴۵۶۷۸۹۰۱۲۳۴۵۶۷۸۹۰۱۲۳۴۵۶۷۸۹۰۱۲۳۴۵۶۷۸۹۰۱۲۳۴۵۶۷۸۹۰۱۲۳۴۵۶۷۸۹۰ $offtext $onMargin minCol 20 maxCol 45 Now I have Set i plant /US, UK/ This defines i turned on the Scalar x / 3.145 / A scalar example. margin marking. Parameter a, b; Define some parameters. $offMargin
متن قبل از ستون ۲۰ و بعد از ستون ۴۵ به عنوان یک نظر در نظر گرفته می شود. توجه داشته باشید که محتوای کامل خطوط در پرینت اکو کپی می شود، از جمله هر چیزی که خارج از حاشیه است. برای جزئیات بیشتر به بخش Echo Print فایل ورودی مراجعه کنید.
نظرات پنهان
در نهایت، GAMS همچنین اجازه می دهد تا نظرات مخفی، که در چاپ پژواک فایل خروجی GAMS کپی نشده است. این نظرات حاوی اطلاعاتی است که فقط مربوط به شخصی است که فایل را دستکاری می کند. آنها نظرات تک خطی هستند که با گزینه کنترل دلار $hidden شروع می شوند. یک مثال در ادامه می آید. برای اطلاعات بیشتر در مورد گزینه های کنترل دلار، به بخش گزینه های کنترل دلار مراجعه کنید.
$hidden a comment I do not want in LST file set a /a1,a2/; set b /a2,c2/; set c /a3,d3/;