Hiçbir Şey Döndürmeyen Fonksiyonlar
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 24 / 73.
Birçok işlev bir değer hesaplamaz. Bir şey yaparlar: bir ileti yazdırır, bir tabloyu günceller, durumu kaydeder. Luau'da bir işlevin hiçbir şey döndürmediğini boş dönüş türü () ile belirtebilirsin:
function logMessage(message: string): ()
print(message)
end
local counter = 0
function incrementCounter(): ()
counter += 1
endTypeScript gördüysen, () burada void rolünü üstlenir; ancak Luau'daki yazımı, kelimesi kelimesine "sıfır dönüş değeri" anlamına gelen bir çift boş parantezdir.
Açıklama isteğe bağlıdır: bunu kaldırırsan Luau, işlevin hiçbir şey döndürmediğini çıkarır. Açıkça : () yazmak niyetini belgelendirir: imzayı okuyan herkes, bu işlevin sonucundan çok yan etkileri için çağrıldığını bilir.
Çalışma zamanında hiçbir şey değişmez (her zamanki gibi): return değeri olmayan bir işlev, sonucunu yakalamaya çalışırsan basitçe nil üretir; tıpkı düz Lua'da olduğu gibi.
Görev
KolaydisplayWelcome adlı, userName: string alan ve açık dönüş türü () olan bir işlev oluşturun. Şunu yazdırmalıdır: "Welcome to our application, [userName]!"
Dönüş türü () olan ve errorMessage: string alan logError adlı bir işlev oluşturun. Şunu yazdırmalıdır: "ERROR: [errorMessage]"
Parametre almayan ve dönüş türü () olan bir processData işlevi oluşturun. "Processing data..." ifadesini ve ardından bir sonraki satırda "Data processing complete." ifadesini yazdırmalıdır.
Bunları şu sırayla çağırın:
displayWelcome("Alice")processData()logError("Invalid input detected")displayWelcome("Bob")
Kendin dene
-- Kodu buraya yaz
-- displayWelcome(userName: string): ()
-- logError(errorMessage: string): ()
-- processData(): ()
-- sonra çağır: displayWelcome("Alice"), processData(),
-- logError("Invalid input detected"), displayWelcome("Bob")
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
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'lerKendi başına pratik yap: Online Lua derleyicisi