Menu
CoddyTech

İ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. Ada

string?, "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.

challenge icon

Görev

Kolay

Görünen adı isteğe bağlı olan bir profil işlevi yaz.

  1. local function createUserProfile(username: string, displayName: string?): string yaz.
  2. displayName verilmişse `Profile: {displayName} (@{username})`, aksi hâlde `Profile: @{username}` döndür.
  3. createUserProfile("john_doe", "John Doe") ve createUserProfile("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

Kendi başına pratik yap: Online Luau derleyicisi