# Kavramlar - Değişken Argüman Sayısı \(varargs\)

- **İngilizce aslı:** https://wiki.facepunch.com/gmod/vararg
- **Çeviri tarihi:** 2025-09-08

## 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.

```lua
print( 'Bunlar' , 'bir' , 'sürü' , 'argüman' , 1 , 2 , 3 )
```

### Bildirim

Değişken argümanlar, bir fonksiyonun argüman listesinin sonuna
`...` adı ile bildirilebilir.

```lua
function ( ilk , ikinci , ... )
```

Fonksiyonu `( 1 , 2 , 3 , 4 )` ile çağırmak şu sonuçları verir:

- `ilk` = `1`
- `ikinci` = `2`
- `...` = `3 , 4`

### Kullanım

`...`'yı başka bir fonksiyona argüman olarak sağlayabilirsiniz.

```lua
sum( 1 , 2 , ... , 5 ) -- sum( 1 , 2 , 3 , 4 , 5 ) ile aynı
```

### Çıkarma (Unpacking)

Ayrıca bir tabloyu [çıkararak (unpacking)](https://gmod.tr/wiki/Global.unpack) da değişken argümanlar oluşturabilirsiniz.

```lua
unpack({ 3 , 4 }) -- `3 , 4` ile aynı
```

### Paketleme (Packing)

Tersi, bir tabloyu [paketleyerek (packing)](https://gmod.tr/wiki/table.Pack) elde edilebilir.

```lua
local arguments = table.Pack( ... ) -- { 3 , 4 } ile aynı
```

```lua
local arguments = { ... } -- Kısayol Sözdizimi
```

---

### Örnek: Toplama

Değişken sayıdaki değeri toplar.

#### Kod

```lua
function sum ( ... )

    local total = 0

    for _ , value in ipairs({ ... }) do
        total = total + value
    end

    return total
end
```

#### Test

```lua
print(sum(1,2,3))
```

**Çıktı:** 6

---

### Örnek: Ortalama

Önceki örneğin toplama fonksiyonunu kullanarak
değişken sayıdaki değerin ortalamasını bulur.

#### Fonksiyon

```lua
function average ( ... )
    return sum( ... ) / #{ ... }
end
```

#### Test

```lua
print(average(1,2,3))
```

**Çıktı:** 2.0

- [GMod Wiki ana sayfası](https://gmod.tr/wiki)

---

[Tüm sunucular](https://gmod.tr/) · [GmodTR Launcher](https://gmod.tr/launcher) · [Rehber](https://gmod.tr/rehber) · [GMod Wiki](https://gmod.tr/wiki) · [GmodTR nedir?](https://gmod.tr/hakkinda) · [Sunucu ekle](https://gmod.tr/sunucu-ekle) · [Discord](https://discord.gg/gmodtr)

Kaynak: https://gmod.tr/wiki/vararg
