توضیحات پیشنهادی نظرات اشتراک
تبلیغات

فاکتور گرفتن از شرط if در کاتلین

یکی از مباحث جالب کاتلین، امکان فاکتور گرفتن (همانند ریاضی) از شرط if می‌باشد! شاید این گفته در ذهن شما عجیب به نظر برسد؛ اما قابلیتی است که گاهی اوقات کد نوشته شده را به شدت ساده خواهد کرد!

شروع به کار

به مثال زیر که یک مثال ریاضی بوده و به کاتلین مربوط نمی‌شود دقت کنید:

y = 4x + 8x

اگر بخواهیم از این فرمول فاکتور بگیریم، به صورت زیر خواهد شد:

y = x(4 + 8)

یعنی اینکه مشترکات بین هردو را برداشته آن را به صورت کلی در بدنه ضرب کرده‌ایم!

حالا به مثال زیر در کاتلین دقت کنید:

در اینجا مقدار متغیر url را بررسی کرده و داخل بدنه‌ی if و else، پیامی را چاپ کرده‌ایم! و تابع println، در هردو بدنه‌ی if و else صدا زده شده و تنها مقدار آن متفاوت است! بنابراین طبق تعریف فاکتورگیری، می‌توان از prinln فاکتور گرفت! به صورت زیر:

به عبارتی، دستور شرطی به داخل ورودی تابع منتقل شده است! که البته تعریف درستی برای این قابلیت کاتلین نیست و برای گمراه نشدن و اینکه فکرتان به تفاسیر دیگری از کد بالا نرود، به مثال دیگری می‌پردازیم:

کد زیر را در نظر بگیرید:

همانطور که می‌بینید، like برابر یک عدد، داخل هردو بدنه یکسان است! بنابراین کد بالا را می‌توانیم به صورت زیر بنویسیم:

در اینجا از like = فاکتور گرفته شده است!

در کدهای بالا که دو علامت { } حذف شده است، اجباری نبوده و می‌توانستیم آنها را حذف نکنیم! ولی چیزی که از آن فاکتور گرفته‌ایم، بایستی حذف شود!
کانال تلگرام فول کده

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

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

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

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

پاسخ دهید

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

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