Ö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 tür takma adlarını ve jenerik fonksiyonları tek bir programda birleştirin.
T ve U şeklinde iki tür parametresine sahip Pair adında jenerik bir tür takma adı (type alias) tanımlayın ve şu özelliklere sahip bir tabloyu açıklayın:
TtüründefirstUtüründesecond
T ve U parametrelerini bildiren, first: T ve second: U alan ve bunları bir Pair<T, U> içinde paketleyip döndüren makePair adında jenerik bir fonksiyon oluşturun.
T ve U parametrelerini bildiren, bir pair: Pair<T, U> alan ve string interpolation ile oluşturulmuş ({first}, {second}) dizesini döndüren describePair adında jenerik bir fonksiyon oluşturun (dönüş türü string).
Sonrasında:
makePair("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)sonucunu yazdırındescribePair(levelDone)sonucunu yazdırın- tek bir satırda
describePair(makePair("Luau", 2026))sonucunu yazdırın
Kendin dene
-- Kodu buraya yaz
-- 1) Pair<T, U> = {first: T, second: U} tipini tanımla
-- 2) makePair<T, U>(first: T, second: U): Pair<T, U> fonksiyonunu tanımla
-- 3) describePair<T, U>(pair: Pair<T, U>): string fonksiyonunu tanımla
-- `({pair.first}, {pair.second})` döndürür
-- 4) playerScore ("Nova", 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 Fonksiyonlar