Özet: Jenerik Fonksiyonlar
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 62 / 73.
Görev
OrtaJenerik takma adları ve jenerik fonksiyonları tek bir programda birleştirin.
T ve U şeklinde iki tür parametresine sahip, şunları içeren bir tabloyu tanımlayan Pair adında jenerik bir tür takma adı tanımlayın:
TtüründefirstUtüründesecond
T ve U parametrelerini bildiren, first: T ve second: U kabul eden ve bunları bir Pair<T, U> içinde paketlenmiş olarak döndüren makePair adında jenerik bir fonksiyon oluşturun.
T ve U parametrelerini bildiren, bir pair: Pair<T, U> kabul eden ve dize interpolasyonu ile oluşturulmuş ({first}, {second}) dizesini döndüren (dönüş türü string) describePair adında jenerik bir fonksiyon oluşturun.
Ardından:
makePair("<code>Nova", 87) çağrısı yaparakPair<string, number>türündeplayerScoreoluşturunmakePair(3, true)çağrısı yaparakPair<number, boolean>türündelevelDoneoluşturunplayerScore.firstdeğerini yazdırınplayerScore.seconddeğerini yazdırındescribePair(playerScore)değerini yazdırındescribePair(levelDone)değerini yazdırın- tek bir satırda
describePair(makePair("Luau", 2026))değerini yazdırın
Kendin dene
-- Kodu buraya yazın
-- 1) Pair<T, U> tipini tanımla = {first: T, second: U}
-- 2) makePair<T, U>(first: T, second: U): Pair<T, U> tanımla
-- 3) describePair<T, U>(pair: Pair<T, U>): string tanımla
-- `({pair.first}, {pair.second})` döndüren
-- 4) playerScore (talimatlardaki tam metin, 87) ve levelDone (3, true) oluştur,
-- sonra gerekli beş satırı yazdır
Luau'ya Giriş bölümündeki tüm dersler
1Luau ile Başlarken
Luau Nedir?Neden Luau Kullanılmalı?İlk Luau KodunuzTip Denetimi ve Hata ModlarıÖzet: Luau'ya Giriş4Fonksiyonlarla Çalışmak
Parametreleri ve Geri Dönüş Değerlerini TiplendirmeAnonim Fonksiyonları TiplendirmeHiçbir Şey Döndürmeyen Fonksiyonlarİsteğe Bağlı ParametrelerVarsayılan Parametre DeğerleriDeğişken Sayıda Parametre Alan Fonksiyonlar (Variadic)Fonksiyon Tiplerini TanımlamaÖzet: Tiplendirilmiş Fonksiyonlar2Temel Tipler
Temel Tipler: num, str, bool'any' Tipi: Kaçış Yolu'unknown' TipiNil ve İsteğe Bağlı (Optional) TiplerUygulamada Tip ÇıkarımıAçık Tip BelirteçleriÖzet: Temel Tipler Pratiği5Diğer Adlar (Aliases), Birleşimler, Kesişimler
İlkel Tipler için Tip Diğer Adları (Type Aliases)Birleşim Tipleri (Union Types)Birleşim Tipleri ile ÇalışmakLiteral (Sabit) TiplerKesişim Tipleri (Intersection Types)Tip Diğer Adlarını BirleştirmeÖzet: Gelişmiş Tip Kombinasyonları3Tipli Tablolar: Diziler ve Map'ler
Tipli DizilerEleman Ekleme ve OkumaMap Tipi Nedir?Map Bildirimi ve Map'lere ErişimTablolar Üzerinde YinelemeKarma Biçimli TablolarÇok Boyutlu Tipli Dizilertable.unpack ve VarargsÖzet: Diziler ve Map'ler6Tablo Biçimlerini Tiplendirme
Satır İçi Biçim AçıklamalarıBiçimler İçin Tip Takma Adlarıİsteğe Bağlı ÖzelliklerBiçimler ve Serbest TablolarBiçimleri GenişletmeBiçimlere Metot EklemeSelf ve İki Nokta MetotlarıÖzet: Tablo Biçimlerini Tanımlama9Jenerikler: İlk Bakış
Jeneriklerin Çözdüğü ProblemJenerik Bir Kimlik (Identity) FonksiyonuJenerik Fonksiyon KullanımıJenerik DizilerJenerik Tip Takma Adları (Type Aliases)Özet: Jenerik FonksiyonlarKendi başına pratik yap: Online Lua derleyicisi