تبلیغات
آموزش مطلب - evalin

evalin

نویسنده :امین باشی
تاریخ:سه شنبه 20 تیر 1385-07:07 ق.ظ

در پست قبلی با فضای کار(workspace) در مطلب آشنا شدیم، امروز دستور evalin را برسی می کنیم.این دستور نیز برای کار کردن با فضای کار می باشد.

در اکثر زبانهای برنامه نویسی مفهومی به اسم متغیر سراسری و متغیر محلی وجود دارد.در مطلب برای تعریف نتغیر سراسری از دستور global استفاده می شود.استفاده از متغیرهای سراسری ساده ترین کار در هنگام کار با فضای حالت است اما همیشه ساده ترین راه قشنگ ترین راه نیست.

 توابعی که در پست قبلی استفاده کردیم را با کمی تغیر دوباره  مورد استفاده قرار می دهیم

 

function b=testcaller
testcurrent
m=67;
r=m+l

-------------

function testcurrent
assignin('caller','b',23)
assignin('base','t',33)
m=34;
evalin('base','b=t+2') % 1
evalin('caller','l=b+2') % 2
r= evalin('base','b+3')+evalin('caller','b+2')+m %3

دستور 1 متغیر b را برابر با جمع t و 2 قرار می دهد (این متغیرها در فضای base- فضای کار اصلی مطلب- قرار دارند)

دستور2  متغیر b را که در فضای کار تابع testcaller قرار دارد با 2 جمع کرده و در متغیر l قرار می دهد.

دستور 3 متغیر b که در base قرار دارد را با نتغیر b که در caller قرار دارد و متغیر محلی m را جمع کرده و در r قرار می دهد.

حال دستور h=testcaller را اجرا کنید بعد از پایان برنامه باید متغیرهای t,h,b در فضای base وجود داشته باشند.



نوع مطلب : evalin 





All right reserved©2005 Amin Bashi