تور لحظه آخری
امروز : پنجشنبه ، 8 آذر 1403    احادیث و روایات:  پیامبر اکرم (ص):هرگاه (مردم) امر به معروف و نهى از منكر نكنند، و از نيكان خاندان من پيروى ننمايند،...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

بهترین وکیل کرج

بهترین وکیل تهران

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

خرید نهال سیب

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

رفع تاری و تشخیص پلاک

پرگابالین

 






آمار وبسایت

 تعداد کل بازدیدها : 1835208522




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

return -


واضح آرشیو وب فارسی:سایت ریسک: return شلغم نپخته 29 بهمن 1388, 22:11با سلام، یک تابع داریم که در اون تابع هم تابعی دیگه داره. در تابع دوم باید یک مقداری رو به برنامه اصلی برگردونم که نمیشه و مقدار به تابع اول برمیگرده! برای حل این مشکل باید چکار کنم؟ ممنون ++Hadi++ 29 بهمن 1388, 22:29سلام var A:Number=5; var B:Number=7; var C:Number; Fun01(); function Fun01():void { C=2*(Fun02(A,B))+3; trace(C);//OutPut:27 } function Fun02(a:Number,b:Number):Number { return a+b } شلغم نپخته 29 بهمن 1388, 22:43تشکر هادی خان منظور من یه چیز تو این مایه هاست: function qwe(){ function qwer(){ return("a"); } } حال من می خوام اون return از تابع اولی بیاد بیرون. ممنون ++Hadi++ 30 بهمن 1388, 09:41این کار یکم اشکال داره ولی اینم کد : var A:Number=5; var B:Number=9; var C:Number=0; Fun01();//OutPut:56 function Fun01():void { C=Fun02(A,B); trace(C); function Fun02(a:Number,b:Number):Number { return (a*b)+11; } } تا یه تابع رو صدا نزنی ، اون فعال نمی شه و اشکال سر این بود که شما اونو صدا نزده بودین . به اون قسمتی که تابع رو صدا می زنین می گن امضای تابع . کد بالا رو اینجوری هم می شه نوشت : var A:Number=5; var B:Number=9; var C:Number=0; Fun01();//OutPut:56 function Fun01():void { C=Fun02(A,B); trace(C); } function Fun02(a:Number,b:Number):Number { return (a*b)+11; } و فرق این دو تا در اینه که Fun02 در کد دوم ، سراسری هست و در کل جاها قابل دسترسی هست ولی در کد اول و فقط در داخل تابع Fun01 قابل دسارسی هست . یعنی : var A:Number=5; var B:Number=9; var C:Number=0; C=Fun02(A,B); trace(C);//OutPut:56 function Fun01():void { C=Fun02(A,B); trace(C); } function Fun02(a:Number,b:Number):Number { return (a*b)+11; } ولی در حالتی که خودت نوشتی اینطوری می شه : var A:Number=5; var B:Number=9; var C:Number=0; C=Fun02(A,B); trace(C);//OutPut:Error :1180: Call to a possibly undefined method Fun02. function Fun01():void { function Fun02(a:Number,b:Number):Number { return (a*b)+11; } } دیدی ، بهتره اونو سراسری تعریف کنی نه محلی ، اینو یه بار در مورد متغیر بهت گفته بودم . بای... شلغم نپخته 30 بهمن 1388, 10:08شکراً جزیل و اجراً عظیم هادی خان ببینید فرض کنید یه تابع به نام fun0 داریم حالا تو این تابع یه سری کارها انجام میشه که نیاز است یک فانکشن دیگه داخل اون تعریف کرد به نام fun1 مثل همون مثال خودم. حالا جوابی رو که fun1 ایجاد میکنه باید از fun0 خارج بشه، یعنی اینکه در کل وقتی میزنیم: fun0(1,4); باید جواب fun1 بیاد بیرون. آیا راهی برای انجام این کار هست؟ ممنون firestar9000 30 بهمن 1388, 13:33اگه منظورت رو درست فهميده باشم مي توني از نام گذاري هم استفاده كني. به مثال زير يه توجهي كن. var iNum = 0 ; outermost : for(var i=0;i<10;i++){ for(var j=0;j<10;j++){ if( i==5 && j==5 ){ break outermost; } iNum++ ; }راستي يادت باشه كه مخخف function بهتره كه func باشه شايدم بتوني اين طوري كني. function myFunc1(value1:Number):void{ function myFunc2(value2:Number):void{ // your code and command } return value1*value2 }; شلغم نپخته 30 بهمن 1388, 15:29ممنون اما این یک مثال خیلی واضحه: loadFile("start.txt"); function loadFile(a:String):String { var loader:URLLoader = new URLLoader(); var request:URLRequest = new URLRequest(a); try { loader.load(request); } catch (error:Error) { trace("Unable to load requested document."); } loader.addEventListener(Event.COMPLETE, completeHandler); function completeHandler(event:Event) { var loader:URLLoader = URLLoader(event.target); return loader.data; } } برای این کد چه باید کرد؟ ++Hadi++ 30 بهمن 1388, 16:27return رو وقتی در یه تابع قرار می دی ، کارش اینه که یه چیزی رو بر گردونه . پس باید نوع خروجی تابع خودتو از نوع خروجی قرار بدی فرض کن قراره تابع زیر یه String رو بیرون پاس بده پس در تعریف اون می نویسی : trace(FunString());//OutPut:Hello function FunString():String { return "Hello"; } به عبارت String در تعریف اون نگاه کن ، باید نوع خروجی return شده ات با نوع اون در تعریف برابر باشه . وقتی تابعی قرار هست عبارت یا شی خاصی رو بیرون return کنه ، این تابع شبیه به یه متغیر پیشرفته عمل می کنه یعنی چی ؟ یعنی اینکه شی تابع شما مثل یه متغیر Convertor عمل می کنه که وقتی چیزایی رو بهش پاس می دین یا اگه چیزی رو واسه ورودی نیاز نداشته باشه ، اون چیزی که ازش خارج می شه در محاسبات قرار می گیره ، دو دستور زیر معادل همند : var A:Number=5; var B:Number=10; var C:Number=0; C=A+B; trace(C);//OutPut:15 دستور بالا با دستور پایین هم ارزه : var A:Number=5; var C:Number=0; function B():Number { return 10; } C=A+B(); trace(C);//OutPut:15 پس می بینی که در مورد توابع بازگرداننده مقادیر ، می شه گفت اونا نقش متغیر های پیشرفته رو عمل می کنند که می تونن روی یه سری عملیات خاص کار کنند و به صورت پیشرفته تر ، چیزی رو از خودشون خارج کنند و در محاسبات قرار بدن . این دستور درست هست : loadFile("start.txt"); function loadFile(a:String):void { var loader:URLLoader = new URLLoader(); var Request:URLRequest = new URLRequest(a); try { loader.load(Request); } catch (error:Error) { trace("Unable to load requested document."); } finally { loader.addEventListener(Event.COMPLETE, completeHandler); } } function completeHandler(event:Event):void { var Str:String =String(event.target.data); trace(Str); } از توابع بازگرداننده مقدار یا شی ، در جایی استفاده می شه که قرار هست یه سری عملیات خاص روی عده ای از متغیر ها و مقادیر انجام بگیره و خروجی خاصی از نوع خاص بیاد بیرون تا از اون خروجی در عملیات محاسباتی استفاده شه . بای.... شلغم نپخته 30 بهمن 1388, 16:41خسته نباشید و تشکر بابت مطالب ارزشمندتون ... خوب آقا هادی نمیشه کاری کرد که وقتی این تابع رو زدیم: trace(loadFile("start.txt")); محتویات start.txt نماش پیدا کنه؟ چه راهی رو برای کار ما پیشنهاد میکنید؟ ممنون ++Hadi++ 30 بهمن 1388, 17:18سلام چون نیاز هست از یه تابع برای Complete شدن به یه تابع دیگه بریم ، پس یه جورایی بی نتیجه به نظر می رسه ، من این کار رو کردم : trace(loadFile("start.txt")); function loadFile(a:String):String { var loader:URLLoader = new URLLoader(); var Request:URLRequest = new URLRequest(a); var Text:String; loader.load(Request); loader.addEventListener(Event.COMPLETE, completeHandler); loader.addEventListener(IOErrorEvent.IO_ERROR, err); function completeHandler(event:Event):void { Text=String(event.target.data); } function err(event:Event):void { Text="Unable to load requested document."; } return Text; } و جواب null بود ، حتی واسه setTimeout هم نیاز هست به تابع دیگه ای بریم و چون پای رویداد و تابع دیگه وسط هست ، پس همه اینها در یک پالس زمانی اجرا اتفاق نمی افتند و از نظر من این بی نتیجه هست و شاید راهی باشه دوست عزیز ولی اون به ذهن من نرسید . بای...




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 540]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن