Junior — Middle
Funksional proqramlaşdırmanın prinsipləri və yanaşmalarının əsaslarını izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Funksional proqramlaşdırma (FP) — əsas tikinti blokları kimi funksiyalardan istifadə etməyə və vəziyyətin dəyişməsini və yan təsirləri qarşısını almağa əsaslanan proqramlaşdırma paradigmasıdır.
FP-nin əsas prinsipləri və yanaşmaları:
- Təmiz funksiyalar: funksiya eyni giriş məlumatları üçün həmişə eyni nəticəni verir və xarici vəziyyəti dəyişmir.
- Dəyişməzlik (immutability): məlumatlar yaradıldıqdan sonra dəyişmir, əvəzinə dəyişikliklərlə yeni nüsxələr yaradılır.
- Yüksək səviyyəli funksiyalar: digər funksiyaları arqument kimi qəbul edən və ya onları geri qaytaran funksiyalar.
- Rekursiya döngələr yerinə: əməliyyatların təkrarlanması üçün tez-tez rekursiya istifadə olunur.
- Yan təsirlərin olmaması: funksiyalar xarici dəyişənləri, faylları, verilənlər bazalarını və s. dəyişməməlidir.
C++ nümunəsi (lambda funksiyalarından istifadə etməklə):
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> ədədlər = {1, 2, 3, 4, 5};
// Yüksək səviyyəli funksiya: std::for_each-ə lambda funksiyası ötürürük
std::for_each(ədədlər.begin(), ədədlər.end(), [](int n) {
std::cout << n * 2 << " ";
});
return 0;
}
Burada orijinal vektoru dəyişmirik, sadəcə hər elementə funksiya tətbiq edirik və onu göstəririk, bu da funksional yanaşmanın prinsiplərinə uyğundur.