İsteğe Bağlı Parametreler
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 26 / 80.
Düz Lua'da argümanları her zaman atlayabilirdiniz: eksik olanlar sessizce nil değerine dönüşürdü ve bunu işlemeyi unutmak klasik bir hata kaynağıydı. Luau bu olasılığı açık hâle getirir: bir parametrenin türüne ? ekleyerek onu isteğe bağlı olarak işaretleyin.
function greet(name: string, title: string?): string
if title then
return `{title} {name}`
end
return `Hello, {name}`
end
print(greet("Ada")) -- Hello, Ada
print(greet("Ada", "Dr.")) -- Dr. Adastring?, "string veya nil" anlamına gelir. Çağıranlar bir metin dizgesi iletebilir ya da argümanı tamamen atlayabilir; ? olmayan parametreler zorunludur ve denetleyici, bunları atlayan çağrıları işaretler.
Fonksiyonun içinde isteğe bağlı bir parametre nil olabilir; bu nedenle onu kullanmadan önce kontrol edin: if title then ... end standart kalıptır. Kontrolü atlayıp nil değerini bir metin dizgesine birleştirirseniz Lua'nın her zaman verdiği çalışma zamanı hatasının aynısını alırsınız; tür denetleyicisi sizi önceden uyarır.
Görev
KolayGörünen adı isteğe bağlı olan bir profil işlevi yaz.
local function createUserProfile(username: string, displayName: string?): stringyaz.displayNameverilmişse`Profile: {displayName} (@{username})`, aksi hâlde`Profile: @{username}`döndür.createUserProfile("john_doe", "John Doe")vecreateUserProfile("jane_smith")ifadelerini yazdır.
Run Code düğmesine bas: çıktı Profile: John Doe (@john_doe) ve Profile: @jane_smith değerlerini gösterir.
Kendin dene
-- 1) createUserProfile(username: string, displayName: string?): string
-- 2) onu görünen adla ve görünen ad olmadan 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ışma
Parametreleri ve Dönüş Değerlerini Tür BelirtmeAnonim Fonksiyonları Tür BelirtmeDeğer Döndürmeyen Fonksiyonlarİsteğe Bağlı ParametrelerVarsayılan Parametre DeğerleriBoolean Değerler için VarsayılanlarDeğişken Sayıda Parametre Alan FonksiyonlarFonksiyon Türlerini TanımlamaTekrar: Tür Belirtilmiş Fonksiyonlar2Temel Türler
Number, String ve Boolean'any' Türü: Kaçış Yolu'unknown' TürüNil ve İsteğe Bağlı TürlerTür Çıkarımı UygulamadaAçık Tür Ek AçıklamalarıTekrar: Temel Türler Alıştırması5Diğ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ı3Türlenmiş Tablolar: Diziler ve Map’ler
Türlenmiş DizilerÖğe Ekleme ve OkumaMap Türü Nedir?Map’leri Tanımlama ve ErişmeTablolar Üzerinde YinelemeKarma Şekilli TablolarBir Izgarayı OkumaBir Izgara Oluşturmatable.unpackÖzet: Diziler ve Map’lerKendi başına pratik yap: Online Luau derleyicisi