PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش ColdFusion ، ساختار Switch/Case



shirin71
07-23-2011, 11:38 AM
ساختار Switch/Case یک عبارت را در برابر چندین شرط، ارزیابی می کند و سپس کد مربوطه را اجرا می کند.
مثلا، تکه کد زیر را در نظر بگیرید :
One
Two
Three
تکه کد بالا مقدار myVar را سه بار ارزیابی می کند و هر بار تست می کند که آیا مقدار آن برابر مقدار خاصی هست یا نه. کد بالا را می توان به صورت بهتر می توان نوشت :
One
Two
Three
هر دو کد یک کار واحد انجام می دهند اما ساختار cfswitch بهینه تر می باشد، زیرا مقدار متغیر myVar به جای سه بار، یک بار ارزیابی می کند. کلدفیوژن عبارات cfswitch را بسیار بهینه تر از عبارات cfif اجرا می کند ، زیرا برای اجرای cfif، هر دفعه هر مقدار هر عبارت شرطی را ارزیابی می کند (true یا false) تا آنجا مقدار یک عبارت true شود، ولی cfswitch ابتدا مقدار عبارت را ارزیابی می کند (یک بار) و سپس قسمت مطابق با آن را اجرا می کند.
مقادیر ذکر شده در cfcase باید از نوع ثابت باشند و نمی توانند متغیر و یا عبارت باشند. به عنوان مثال، تکه کد زیر مجاز نیست :

Two

در کد زیر cfdefaultcase برابر cfelse در ساختار cfif می باشد.
One
Two
Three
Some Other Number
کد بالا به این معناست که اگر هیچ یک از مقادیر cfcase برابر مقدار عبارت نبودند، بلوک کد مربوط به cfdefaultcase را اجرا کند.
اگر چه ساختار های cfswitch مزایای زیادی دارند، اما در اغلی اوقات نمی توان از آن به جای cfif استفاده کرد. مثلا به کد زیر توجه کنید :
#MyVar#
#MyVar+MyOtherVar#
#MyOtherVar#
این کد را می توان به وسیله ساختار cfswitch نوشت. زیرا عبارات شرطی کد بالا چیزی بیشتر از یک مقایسه ی برابری ساده می باشند.




سایت ماکرومدیاx