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));