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.
Pek çok fonksiyon bir değer hesaplamaz — bir şey yaparlar: bir mesaj yazdırırlar, bir tabloyu güncellerler, durumu kaydederler. Luau'da bir fonksiyonun nothing döndürdüğünü boş dönüş türü olan () ile belirtebilirsiniz:
function logMessage(message: string): ()
print(message)
end
local counter = 0
function incrementCounter(): ()
counter += 1
endTypeScript gördüyseniz, () türü void rolünü oynar — ancak Luau yazımı tam olarak "sıfır dönüş değeri" anlamına gelen bir çift boş parantezdir.
Bu tür belirtimi isteğe bağlıdır: eklemezseniz Luau fonksiyonun hiçbir şey döndürmediğini çıkarımlar. Açıkça : () yazmak niyetinizi belgeler — imzayı okuyan herkes bu fonksiyonun bir sonuç için değil, side efektleri (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 fonksiyon, sonucunu yakalamaya çalışırsanız sadece nil üretir — düz Lua ile aynıdır.
Görev
KolayuserName: string alan ve açıkça () dönüş türüne sahip olan displayWelcome adında bir function oluşturun. Şunu yazdırmalıdır: "Welcome to our application, [userName]!"
errorMessage: string alan ve dönüş türü () olan logError adında bir function oluşturun. Şunu yazdırmalıdır: "ERROR: [errorMessage]"
Hiçbir parametre almayan ve dönüş türü () olan processData adında bir function oluşturun. "Processing data..." ve ardından bir sonraki satırda "Data processing complete." yazdırmalıdır.
Bunları sırasıyla call edin:
displayWelcome("Alice")processData()logError("Invalid input detected")displayWelcome("Bob")
Kendin dene
-- Buraya kod yazın
-- 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'ler