Programming TypeScript
Download 1.81 Mb.
|
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)
Generator funktsiyalariGenerator funktsiyalari ( qisqacha generatorlar ) bir qator qiymatlarni yaratishning qulay usulidir . Ular generatorning iste'molchiga qiymatlarni ishlab chiqarish tezligini aniq nazorat qiladi. Chunki ular dangasa, ya'ni keyingi qiymatni faqat iste'molchi so'raganda hisoblashadi - ular cheksiz ro'yxatlar yaratish kabi boshqa yo'l bilan qilish qiyin bo'lgan ishlarni qilishlari mumkin. Ular shunday ishlaydi: funksiya * createFibonacciGenerator() { ruxsat bering a = 0 ruxsat bering b = 1 while ( true ) { hosil a ; [ a , b ] = [ b , a + b ] } } ruxsat bering fibonacci Generator = createFibonacciGenerator () // IterableIterator fibonacciGenerator . keyingi () // {qiymat: 0, bajarildi: noto'g'ri} fibonacciGenerator ga baholanadi . keyingi () // {qiymat: 1, bajarildi: noto'g'ri} fibonacciGenerator ga baholanadi . keyingi () // {qiymat: 1, bajarildi: noto'g'ri} fibonacciGenerator ga baholanadi . keyingi () // {qiymat: 2, bajarildi: noto'g'ri} fibonacciGenerator ga baholanadi . keyingi () // {qiymat: 3, bajarildi: noto'g'ri} fibonacciGenerator ga baholanadi . keyingi () // {qiymat: 5, bajarildi: noto'g'ri} ga baholanadi Funksiya nomi oldidagi yulduzcha ( * ) bu funksiyani generatorga aylantiradi. Generatorni chaqirish, takrorlanadigan iteratorni qaytaradi. Bizning generatorimiz abadiy qiymatlarni yaratishi mumkin. yield kalit so'zidan yaxshi, rentabellik qiymatlari uchun foydalanadilar . Iste'molchi generatorning keyingi qiymatini so'raganda (masalan, keyingi ga qo'ng'iroq qilish orqali ), yield natijani iste'molchiga qaytarib yuboradi va iste'molchi keyingi qiymatni so'ramaguncha bajarishni to'xtatib turadi. Shu tarzda while(true) sikli darhol dasturning abadiy ishlashiga va ishdan chiqishiga olib kelmaydi. Keyingi Fibonachchi raqamini hisoblash uchun biz bir qadamda a ni b ga va b ni a + b ga qayta belgilaymiz. Biz createFibonacciGenerator ni chaqirdik va bu IterableIterator ni qaytardi . Har safar keyingi ga qo'ng'iroq qilganimizda , iterator keyingi Fibonachchi raqamini hisoblab chiqadi va uni bizga qaytaradi . E'tibor bering, TypeScript qanday qilib iteratorimiz turini biz bergan qiymat turidan xulosa qila oladi . Shuningdek, siz generatorga aniq izoh qo'shishingiz mumkin, u bergan turni Itera bleIterator ga o'rashingiz mumkin : Download 1.81 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling