تبلیغات
تبلیغات

تنظیم مقدار پیشفرض پارامترهای یک تابع در کاتلین

یکی از مواردی که در برخی از زبان‌های برنامه‌نویسی از جمله سی‌شارپ، PHP و … وجود دارد، امکان تعیین مقدار پیشفرض برای تمام یا برخی از پارامترهای (ورودی‌های) یک تابع است. بدین صورت، دیگر نیازی نخواهد بود تا مقدار آن را وارد کنیم و آن پارامتر را بدون مقدار رها خواهیم کرد. (به عبارتی، پارامتر دلخواه یا اختیاری شده و نیازی به تنظیم آن نخواهد بود؛ چرا که یک مقدار پیشفرضی دارد)

روش انجام کار

برای انجام این کار، کافیست تا در هنگام تعریف پارامترها، مقابل آنهایی که مقدار پیشفرض دارند، مساوی قرار داده و سپس مقدارش را بنویسیم. به مثال زیر توجه کنید:

اگر تابع test را به صورت زیر صدا بزنیم:

خروجی زیر را به ما خواهد داد:

Name: Hadi Akbarzadeh, Age: 18, Bio: New user on FuLLKade.COM!

و اگر به صورت زیر عمل کنیم:

خروجی زیر نمایش داده خواهد شد:

Name: Hadi Akbarzadeh, Age: 23, Bio: New user on FuLLKade.COM!

که به جای سن 18، سن 23 نمایش داده می‌شود.

و به این صورت اگر بخواهیم می‌توانیم مقدار Bio را هم در پارامتر سوم تغییر دهیم تا از مقدار پیشفرضش استفاده نکند.

حل یک مشکل

فرض کنید در مثال بالا، ما تنها قصد داریم تا پارامتر سوم را تغییر دهیم و دوست داریم پارامتر دوم مقدرا پیشفرضش را بگیرد! چه کاری باید انجام دهیم؟! باید به صورت زیر کد خود را بنویسیم؟!

اما اینکه مقدار پیشفرض نیست! بلکه مقدار جدیدی است که با مقدار پیشفرض برابر است!

تقریبا تمامی زبان‌های برنامه‌نویسی مشکل فعلی را دارند؛ اما کاتلین با یک روش، این مشکل را حل کرده است.

برای تابع بالا، اگر بخواهیم فقط مقدار bio را تغییر دهیم، باید به صورت زیر عمل کنیم:

همانطور که می‌بینید، در اینجا و در پارامتر دوم، نام ورودی را ذکر کرده‌ایم و یک مساوی قرار داده‌ایم؛ به این صورت کاتلین تشخیص داده و متوجه می‌شود که ورودی دوم باید به پارامتری با نام bio تعلق بگیرد. بنابراین کد زیر نیز صحیح است:

همچنان که کد زیر نیز صحیح است:

پس بدین ترتییب، این قابلیت کاتلین نسبت به دیگر زبان‌های برنامه‌نویسی برتری دارد.


بعد از این که از نا ورودی (پارامتر)، برای مشخص کردن مقدار آن استفاده کنیم:

  • دیگر نمی‌توانیم در پارامترهای بعدی، ورودی بدون نام وارد کنیم.
  • دیگر نمی‌توانیم مقدار پارامتری که قبلا یک بار چه با نام و چه بدون نام تنظیم کرده‌ایم را مجددا نیز تنظیم نماییم.

کانال تلگرام فول کده
تبلیغات

درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک‌گذاری اطلاعات در هر زمینه‌ای
برنامه‌نویس فول استک

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه