Lambda Fonksiyonları Bölüm 1
Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 54 / 78.
lambda, değer olarak yazılan isimsiz bir fonksiyondur. Onu bir sayı veya metin gibi bir değişkende saklayabilirsin:
var add = func(a, b): return a + bfunc ile başlar; her fonksiyonda olduğu gibi parametreler ve iki nokta üst üste gelir, ancak adı yoktur. Tek ifadeden oluşan bir gövde aynı satırda kalabilir.
Bir değişkende saklanan lambda'yı çalıştırmak için, argümanlarıyla birlikte call() metodunu çağırın:
print(add.call(5, 3))8add(5, 3) çalışmaz: GDScript betikte add adlı bir işlev arar ve program çalışmadan önce Function "add()" not found hatasını verir.
Daha uzun bir lambda, girintili bir bloğa sahiptir. Her fonksiyon gibi, bir değer döndürmek için return kullanması gerekir:
var greet = func(player_name):
var message = "Hello, " + player_name
return message + "!"
print(greet.call("Ana"))Hello, Ana!return içermeyen bir lambda null döndürür; bu nedenle func(n): n * 2 değeri hesaplar ve onu atar.
Parametrelerin ve sonucun türleri olabilir: func(n: int) -> int: return n * 2. Bir lambda'nın değeri, "çağırabileceğiniz bir şey" için GDScript türü olan Callable'dır.
Görev
KolayProgram üç tam sayı okur: a, b ve c.
- Üç parametreli,
x,yvez, çarpımlarını döndüren bir lambda oluştur ve bunumultiplyadlı bir değişkende sakla. - Onu
a,bvecile çağır ve sonucu yazdır.
2, 3 ve 4 girdileri için çıktı şöyledir:
24Kendin dene
extends Node
func _ready():
var a := int(OS.read_string_from_stdin())
var b := int(OS.read_string_from_stdin())
var c := int(OS.read_string_from_stdin())
# multiply lambda fonksiyonunu burada oluştur
# multiply fonksiyonunu a, b ve c ile çağır ve sonucu yazdır
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1String’leri Derinlemesine İnceleme
String MetotlarıString’lerde AramaDeğiştirme ve KırpmaBölme ve BirleştirmeTekrar: Kullanıcı Adı Kontrolü4Sözlükler Bölüm 2
İç İçe SözlüklerSözlük DizileriSözlükleri BirleştirmeSözlükleri KopyalamaTekrar - Frekans Sayacı10İleri Düzey Fonksiyonlar
Birden Fazla Değer DöndürmeLambda Fonksiyonları Bölüm 1Lambda Fonksiyonları Bölüm 2Tekrar - Lambda ile SıralamaÖzyinelemeli Fonksiyonlar Bölüm 1Özyinelemeli Fonksiyonlar Bölüm 2Tekrar - İç İçe Dizilerin Toplamı13Envanter Yönetim Sistemi
Projeye Genel BakışÜrün Ekle2İleri Düzey Karar Verme
Değişkenlerle EşleştirmeEşleştirme KoşullarıDizi KalıplarıSözlük KalıplarıÜyelik KontrolleriÖzet - Komut Ayrıştırıcı5Rehber Uygulaması
Menüyü GörüntüleKişi Ekle8Öğrenci Kayıt Yöneticisi
Proje Genel BakışıÖğrenci Ekle11Üst Düzey Fonksiyonlar
map Metodufilter Metodureduce Metoduany ve allTekrar - E-posta DoğrulayıcıTekrar - Sayı İşleyici3Çok Boyutlu Diziler
2B Dizilere Giriş2B Dizi Elemanlarına Erişim2B Dizilerle İç İçe DöngülerTekrar - 2B DizilerDüzensiz DizilerYaygın 2B Dizi ÖrüntüleriTekrar - Oyun Tahtası6Sözlüklerle Kümeler
Küme Nedir?Küme Olarak SözlükEkleme ve SilmeBirleşim ve KesişimKüme FarkıTekrar: Yinelenenleri Silme9Gelişmiş Veri Toplama
Değerleri ToplamaEn Küçük ve En Büyük Değeri BulmaÖzel SıralamaÖzet - Sözlük SıralayıcıKendi başına pratik yap: Online GDScript derleyicisi