Lambda-ifodasining kelib chiqishi




Download 1 Mb.
bet5/9
Sana13.02.2024
Hajmi1 Mb.
#156042
1   2   3   4   5   6   7   8   9
Bog'liq
37-mavzu
cybersecurity-artificial-intelligence 11111 (1) (1), 1. Nosimetrik shifrlash algoritmlari Assimetrik shifrlash algori, 402-guruh onlayn kurslar, Elektron ta\'limni boshqaruv vositalari 191 Begbo\'tayeva Sadoqat-fayllar.org, 4-labaratoriya mashg\'ulot topshirig\'i, Pythonda turtle kutubxonasi bilan ishlash (1), 1-mavzu. Zamonaviy axborot texnologiyalari va ularni qoʻllanilishii, Презентация Microsoft PowerPoint (4), Usmon, 9, SANOAT, 1427572, Matematika va informatika ta, 619-guruh dasturlash tillari oraliq nazorat 22.10.2022, Sanoat korxonalarida mehnat gigienasi va ishlab chiqarish sanitariyasi1

Blokli lambda-ifodalar



Blokli lambda ifodasi turli xil operatsiyalarni bajarish uchun kengaytirilgan imkoniyatlar bilan tavsiflanadi, chunki uning tanasida bir nechta operatorlarni ko'rsatishga ruxsat beriladi. Blokli lambda ifodasini yaratish juda oson. Buning uchun ifodaning tanasini katta qavs ichiga o'rash kifoya. Bir nechta operatorlardan foydalanish qobiliyatidan tashqari, blokli lambda ifodasi yagona lambda ifodasidan deyarli farq qilmaydi.

Blokli lambda-ifodalarining mazmuni har qanday sonli ifodalardan iborat bo'lishi mumkin ammo, amalda odatda ikkitadan yoki uchtadan ko'p ifoda qo’llanilmaydi.

Action greet = nom =>


{
string greeting = "Salom "+nom+" !";

Console.WriteLine(greeting);



};

greet("Komila");


Quyida butun son qiymatining faktorialini hisoblash va qaytarish uchun blokli lambda ifodasini ishlatishga misol keltirilgan.


using System;

namespace Lambda_ifodalar
{
delegate int IntOP (int end);
class Lambda
{
static void Main(string[] args)
{
IntOP fakt =( int n )=> {
int r = 1;
for(int i=1; i <= n; i++)
r = i * r;
return r;
};
Console.WriteLine("Sonni kiriting: ");
int a=int.Parse(Console.ReadLine());
Console.WriteLine(a+"!="+fakt(a));
Console.WriteLine();
Console.ReadKey(true);
}
}
}
Ushbu kodni bajarishda quyidagi natija olinadi.


Yuqoridagi misolda, r o'zgaruvchisi blokli lambda-ifoda tanasida e'lon qilinganiga e'tibor bering, for sikli tashkil qilingan va return operatori ishlatiladi. Ushbu elementlarning barchasini blokli lambda ifodasida qo’llash qulay va bu borada, bu anonim usulga juda o'xshash. Shuning uchun, eski kodni yangilashda ko'plab anonim usullarni blokli lambda ifodasiga aylantirish mumkin.
blokli lambda ifodasini ko'rsatadigan yana bir misolni ko'rib chiqing.


Download 1 Mb.
1   2   3   4   5   6   7   8   9




Download 1 Mb.