توابع در زبان برنامه نویسی دارت
به نام خدا. در این مطلب به بررسی توابع و کاربرد های آنها خواهیم پرداخت. توابع در برنامه نویسی به مجموعه کد هایی گفته می شود که در یک بدنه قرار می گیرند و بعدا در کد از آنها استفاده می شود.
در ادامه با فلاترلند همراه باشید.
گاهی اوقات لازم است تا یک کد را در چند جای برنامه استفاده کنید، مثلا فرض کنید کد میانگین گیری چند عدد را قرار است در چند جا استفاده کنید، می توانید هر بار کد را کپی پیست کنید و برنامه ۱۰ خطی را به برنامه ای ۶۰ خطی تبدیل کنید یا هم اینکه از توابع استفاده کنید.
همانطور که اشاره کردیم توابع به مجموعه کد هایی گفته می شود که در یک بدنه قرار می گیرند و هنگامی که آنها را صدا بزنیم شروع به کار می کنند. توابع مانند لشکر های نظامی هستند که از چندین سرباز تشکیل شده و برای انجام عملیاتی یکسان تلاش می کنند. مثلا تابع میانگین گیری را لشکری فرض کنید که سربازان در آن کد ها هستند و عملیات میانگین گیری است، وقتی آن لشکر را صدا بزنید شروع به کار می کند. توجه داریم که یک تابع می تواند ورودی بگیرد و در نهایت یک مقدار خروجی نیز به ما ارائه دهد. مثلا تابع میانگین گیری یک لیست از اعداد را در ورودی دریافت می کند و یک عدد میانگین را خروجی می دهد.
برای ساخت یک تابع باید به سوالات زیر پاسخ دهیم:
- تابع من قرار است چه کاری بکند ؟
- آیا تابع من ورودی دریافت می کند؟
- آیا تابع من خروجی به من ارائه می کند؟
- اگر خروجی می دهد نوع خروجی چیست ؟
بیایید به این سوالات برای حل مثال خود پاسخ بدهیم:
- تابع من قرار است چه کاری بکند ؟ میانگین یک سری اعداد را بگیرد.
- آیا تابع من ورودی دریافت می کند؟ بله لیستی از اعداد را دریافت می کند.
- آیا تابع من خروجی به من ارائه می کند؟ بله یک عدد را به عنوان میانگین می دهد.
- اگر خروجی می دهد نوع خروجی چیست ؟ احتمالا اعشاری است زیرا تقسیم اعشار می دهد.
حال بیایید با فرمول نوشتن تابع آشنا شویم:
OutputType functionName ( functionInputs ) {
// Do this.
}
اکنون کافی است تا با کمک گیری از سوالات خود این فرمول را کامل کنیم.
اول از همه نوع خروجی تابع خود را مشخص می کنیم. از آنجا که می دانیم خروجی تابع ما اعشاری است به جای OutputType باید double را قرار دهیم. توجه کنید اگر تابع خروجی نداشت باید به جای OutputType مقدار void را قرار دهیم.
سپس باید نام فانکشن یا تابع خود را مشخص کنیم که ما اینجا average را در نظر می گیریم.
سراغ سوال بعدی می رویم. آیا تابع ورودی دارد؟ اگر دارد باید اینجا ورودی ها را مشخص کنیم و اگر ندارد خالی بگذاریم
مثلا اینجا لیستی از اعداد را می خواهیم که می تواند اعشار دریافت کند. پس اینجا
List<double> numbers
توجه داریم که موقعی که در حال ساخت یک تابع هستیم نباید به ورودی مقدار دهی کنیم فقط نوع را می نویسیم با نام ورودی.
تقریبا کار ساخت تابع تمام شده و اکنون باید تابعی به شکل زیر داشته باشیم:
double average ( List<double> numbers ) {
// Do this.
}
اکنون باید کد های میانگین گیری را در آن قرار دهیم. پس تابع به شکل زیر در می آید:
double average(List<double> numbers) {double sum = 0;
int count = numbers.length;
double average = 0;
for (int i = 0; i < count; i++) sum += numbers[i];
average = sum / count;
return average;}
در این مثال ما تابع را پیاده سازی کردیم و در درون تابع کد های مورد نظر خود را قرار دادیم. در این کد ها سه متغیر sum برای جمع همه اعداد با هم، یک متغیر count برای شمارش تعداد اعداد قرار دادیم و یک متغیر هم برای ذخیره میانگین قرار دادیم. در نهایت با یک حلقه همه اعداد را با هم جمع کردیم و در متغیر average جمع را تقسیم بر تعداد کردیم.
در قسمت آخر مقدار خروجی را با return بر می گردانیم.
حالا کافی است تا این تابع را استفاده کنیم.
void main(List<String> args) {List<double> grades = [19, 12, 18, 17, 9];
double myAverage = average(grades);
print(myAverage);}
- ۰۲/۱۲/۰۷