Sobes.tech
Junior

რა განსხვავებაა ანონიმურ ფუნქციებსა და ჩვეულებრივს შორის?

sobes.tech AI

პასუხი AI-სგან

ანონიმური ფუნქციები — ეს ფუნქციები სახელის გარეშე. ისინი ხშირად გამოიყენება ერთჯერადი გამოძახებებისთვის ან როგორც callback-ები.

ძირითადი განსხვავებები:

  • სახელი: ჩვეულებრივი ფუნქციებს აქვს სახელი და შეიძლება გამოიძახოს მისი საშუალებით. ანონიმური ფუნქციებს სახელი არ აქვთ.
  • განმარტება: ჩვეულებრივი ფუნქციები განსაზღვრულია სიტყვა func (ან სხვა ენებში შესაბამისი) და სახელით, შემდეგ პარამეტრებით და სხეულით. ანონიმური ფუნქციები განსაზღვრულია "მომენტში", ხშირად გამოყენების ადგილას.
  • გადაცემა: ანონიმური ფუნქციები ხშირად გადაეცემა როგორც არგუმენტები სხვა ფუნქციებს (მაგალითად, map, where, forEach). ჩვეულებრივი ფუნქციებიც შეიძლება გადაეცეს, მაგრამ უფრო ხშირად გამოიყენება სახელით გამოძახების ლოგიკის განსაზღვრისთვის.
  • საზღვრები: ანონიმური ფუნქციები აქვს წვდომა მათ ცვლილებებზე, სადაც განსაზღვრულია ("დახურვის" ეფექტი). ჩვეულებრივი ფუნქციები ჩვეულებრივ აქვს საკუთარი საზღვრები.

მაგალითი Dart/Flutter:

ჩვეულებრივი ფუნქცია:

void greet(String name) {
  print('გამარჯობა, $name!');
}

// ჩვეულებრივი ფუნქციის გამოძახება
greet('მსოფლიო');

ანონიმური ფუნქცია (ლამბდა):

// სიაში გადის დროს ანონიმური ფუნქციის გამოყენება
List<int> numbers = [1, 2, 3, 4, 5];
numbers.forEach((number) {
  print(number * 2); // ანონიმური ფუნქცია, რომელიც გამრავლებს
});

// ანონიმური ფუნქცია მიანიჭეს ცვლადს
var multiplyByTwo = (int number) => number * 2;
print(multiplyByTwo(5));