Değişken Sayıda Parametre Alan Fonksiyonlar
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 29 / 80.
Lua'nın ... (değişken sayıda bağımsız değişken) özelliğini kullanarak herhangi bir sayıda bağımsız değişken kabul eden fonksiyonlar yazdın. Luau, değişken sayıda bağımsız değişkeni tür belirtmeni sağlar; böylece aktarılan her bağımsız değişken denetlenir:
function sum(...: number): number
local total = 0
for _, n in ipairs({...}) do
total = total + n
end
return total
end
print(sum(1, 2)) -- 3
print(sum(1, 2, 3, 4, 5)) -- 15...: number, fazladan gelen her bağımsız değişkenin bir sayı olması gerektiğini belirtir: sum(1, "two") bir tür hatasına yol açar. Çalışma zamanı araçları bildiklerinle aynıdır:
{...}, değişken sayıda bağımsız değişkeni bir dizide toplar (burada bir{number})select("#", ...), kaç bağımsız değişken geldiğini sayar..., doğrudan başka bir fonksiyona aktarılabilir; örneğinmath.max(...)
Lua'da olduğu gibi, ... son parametre olmalıdır: önce normal (türü belirtilmiş) parametreler gelir, değişken sayıda bağımsız değişken içeren kuyruk ise geri kalanları toplar:
function joinWords(separator: string, ...: string): string
return table.concat({...}, separator)
end
print(joinWords("-", "a", "b", "c")) -- a-b-cGörev
KolayHerhangi sayıda argüman alan iki fonksiyon yaz.
local function sumAll(...: number): numberyazarak{...}değerleriniipairsile topla.local function joinWords(separator: string, ...: string): stringyazaraktable.concat({...}, separator)döndür.sumAll(5, 10, 15)vejoinWords("-", "apple", "banana", "cherry")yazdır.
Kodu çalıştır düğmesine bas: çıktıda 30 ve apple-banana-cherry görünür.
Kendin dene
-- 1) sumAll(...: number): number
-- 2) joinWords(separator: string, ...: string): string
-- 3) iki sonucu 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