Kavramlar - Değişken Argüman Sayısı (varargs)
Değişken Argümanlı Fonksiyonlar
Değişken sayıda argüman alan fonksiyonlara variadic (değişken argümanlı) denir.
Örnek
print fonksiyonu, kendisine verdiğiniz herhangi bir sayıdaki değeri konsola yazar.
Bildirim
Değişken argümanlar, bir fonksiyonun argüman listesinin sonuna
... adı ile bildirilebilir.
function ( ilk , ikinci , ... )
Fonksiyonu ( 1 , 2 , 3 , 4 ) ile çağırmak şu sonuçları verir:
ilk=1ikinci=2...=3 , 4
Kullanım
...'yı başka bir fonksiyona argüman olarak sağlayabilirsiniz.
sum( 1 , 2 , ... , 5 ) -- sum( 1 , 2 , 3 , 4 , 5 ) ile aynı
Çıkarma (Unpacking)
Ayrıca bir tabloyu çıkararak (unpacking) da değişken argümanlar oluşturabilirsiniz.
Paketleme (Packing)
Tersi, bir tabloyu paketleyerek (packing) elde edilebilir.
local arguments = { ... } -- Kısayol Sözdizimi
Örnek: Toplama
Değişken sayıdaki değeri toplar.
Kod
function sum ( ... )
local total = 0
for _ , value in ipairs({ ... }) do
total = total + value
end
return total
end
Test
Çıktı: 6
Örnek: Ortalama
Önceki örneğin toplama fonksiyonunu kullanarak
değişken sayıdaki değerin ortalamasını bulur.
Fonksiyon
function average ( ... )
return sum( ... ) / #{ ... }
end
Test
Çıktı: 2.0
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord