جاوا اسکریپت خوش زبان قسمت بیست و ششم
find(8، “((1 * 3) + 5)”)
find(13، “(((1 * 3) + 5) + 5)”)
پیدا شد!
تورفتگی نشان دهنده عمق پشته تماس است. اولین بار پیدا کردن است
نامیده می شود، با فراخوانی خود برای کشف راه حلی که با (1 + 5) شروع می شود شروع می شود.
آن فراخوان بیشتر تکرار می شود تا هر راه حل ادامه ای را که به a
عدد کمتر یا مساوی با عدد مورد نظر از آنجایی که آن را پیدا نمی کند
هدف را می زند، آن را به اولین تماس تهی برمی گرداند. آنجا || اپراتور
باعث می شود تماسی که کاوش (1 * 3) را انجام می دهد. این جستجو شانس بیشتری دارد –
اولین تماس بازگشتی آن، از طریق یک تماس بازگشتی دیگر، به هدف برخورد می کند
عدد. آن فراخوان داخلی یک رشته و هر یک از || را برمی گرداند اپراتورها
در فراخوانی های میانی آن رشته را به امتداد می گذراند و در نهایت عبارت را برمی گرداند
راه حل.
توابع در حال رشد
دو روش کم و بیش طبیعی برای معرفی توابع وجود دارد
برنامه ها.
اولین مورد این است که متوجه می شوید چندین بار کدهای مشابه را می نویسید. شما
ترجیح می دهد این کار را انجام نده داشتن کد بیشتر به معنای فضای بیشتر برای اشتباهات است
مخفی کردن و مطالب بیشتری برای خواندن برای افرادی که سعی در درک برنامه دارند.
51
بنابراین شما عملکرد تکراری را انتخاب می کنید، یک نام خوب برای آن پیدا می کنید و آن را در آن قرار می دهید
یک تابع
راه دوم این است که متوجه می شوید به عملکردهایی نیاز دارید که ندارید
هنوز نوشته شده است و به نظر می رسد که شایسته عملکرد خاص خود است. شما شروع خواهید کرد
با نامگذاری تابع، و سپس بدنه آن را می نویسید. حتی ممکن است شروع کنید
نوشتن کدی که از تابع قبل از تعریف تابع استفاده می کند
خود
یافتن نام مناسب برای یک تابع چقدر دشوار است، نشانه خوبی است
از اینکه چقدر مفهومی واضح است که میخواهید بپیچید. بیایید از طریق یک
مثال.
می خواهیم برنامه ای بنویسیم که دو عدد را چاپ کند: شماره گاوها
و مرغ ها در مزرعه، با عبارت Cows و Chickens بعد از آنها و صفر
قبل از هر دو عدد قرار داده شده به طوری که آنها همیشه سه رقمی باشند.
007 گاو
011 جوجه
این تابعی از دو آرگومان میخواهد – تعداد گاوها و تعداد
تعداد جوجه ها بیایید کدنویسی کنیم
تابع printFarmInventory (گاو، جوجه) {
let cowString = String(cows);
while (cowString.length < 3) {
cowString = “0” + cowString;
}
console.log(`${cowString} Cows`);
let chickenString = String(chickens);
while (chickenString.length < 3) {
chickenString = “0” + chickenString;
}
console.log(`${chickenString} جوجه ها`);
}
printFarmInventory(7, 11);
نوشتن .length بعد از عبارت رشته طول آن رشته را به ما می دهد.
بنابراین، حلقههای while به اضافه کردن صفر در جلوی رشتههای اعداد ادامه میدهند
آنها حداقل سه کاراکتر هستند.
ماموریت انجام شد! اما درست زمانی که می خواهیم کد را برای کشاورز ارسال کنیم
(همراه با یک فاکتور سنگین)، او تماس می گیرد و به ما می گوید که او نیز شروع به نگه داری کرده است
خوکها، و آیا نمیتوانیم لطفاً نرمافزار را برای چاپ خوکها نیز گسترش دهیم؟
قوانین ارسال دیدگاه در سایت