# setmetatable

- **Ortam:** İstemci, Sunucu, Menü
- **İngilizce aslı:** https://wiki.facepunch.com/gmod/Global.setmetatable
- **Çeviri tarihi:** 2025-09-08

```lua
table setmetatable( table Tab, table Metatable )
```

## Açıklama

Bir tablonun metatablosunu ayarlar, değiştirir veya kaldırır. Tab'ı (ilk argümanı) döndürür.

## Argümanlar

1. [table](https://gmod.tr/wiki/table) **Tab**: Metatablosu değiştirilecek olan tablo.
2. [table](https://gmod.tr/wiki/table) **Metatable**: Atanacak olan metatablo. Eğer nil ise, metatablo kaldırılacaktır.

## Dönen Değer

1. [table](https://gmod.tr/wiki/table): İlk argüman.

### Örnek

Bir metatablo oluşturur ve bunu bir tabloya atar.

```lua
local Pupil_meta = {
	GetName = function(self)
		return self.name
	end
}
Pupil_meta.__index = Pupil_meta
-- Eğer bir anahtar nesnede bulunamazsa, metatablosunun __index metamethod'una bakacaktır.

local Pupil = {
	name = "John Doe"
}

setmetatable(Pupil, Pupil_meta)

print( Pupil:GetName() )
-- Bu, Pupil içinde "GetName" anahtarını arayacaktır, ancak böyle bir anahtar yoktur. Bu yüzden bunun yerine metatablosunun (Pupil_meta) __index anahtarına bakacaktır.
```

**Çıktı:** "John Doe"

- [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/Global.setmetatable
