# Kavramlar - Koşullu Akış Kontrolü

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

## If İfadeleri

'If' ifadesi, neredeyse her programlama dilinde bulunan çok yaygın bir araçtır. Bu ifade, Lua'ya verilen çok temel ve doğrudan bir komuttur. Kendi betiklerinizi oluştururken bu çok kullanışlı olabilir. 'If', bir koşulun doğru olup olmamasına bağlı olarak koda bir şey yapmasını söyler. İşte basit bir if ifadesi:

```lua
local age = 18
if age == 20 then
	print("You're 20!")
end
```

If ifadesi biraz kafa karıştırıcı olabilir.

Bu betiğin `local age = 18` kısmı, `age` adında bir 'Yerel' (Local) değişkeni 18 olarak ayarlar. Yerel olması, değişkenin yalnızca içinde bulunduğu kontrol yapısı (bu örnekte if ifadesi) dahilinde var olacağı anlamına gelir.

Yukarıdaki örnek temel olarak şu anlama gelir: "eğer `age` 20'ye eşitse, `'You're 20!'` yazdır ve dur."

If ifadesi Lua için şu şekilde görünür:

```lua
if (Koşul) then
	-- Bir şeyler yap
end
```

Ardından gelen kod bloğunun çalışması için Koşul'un (Condition) doğru olması gerekir. Bir kod bloğu, yalnızca belirli koşullar altında çalışan koddur. Bu durumda, koşul doğruysa kod bloğu çalışır.

### Else İfadeleri

Else, koşulun tersini tanımlamak için kullanılır; yani bir koşul yanlışsa, `else` sonraki kodun çalıştırılmasını söyler. `else`'in iyi bir kullanımı aşağıda gösterilmiştir.

```lua
local age = 40
if age == 20 then
	print("You're 20!\n")
else
	print("You're NOT 20!\n")
end
```

Yukarıdaki örnek, "age" değişkeninin 20 olup olmadığını kontrol eder. Eğer bu doğruysa, konsola "You're 20!" yazdırır, ancak "age" değişkeni 20 DEĞİLSE, konsola "You're NOT 20!" yazdırır.

### Kullanılabilecek Koşullar

#### Eşittir

`==` işaretinin solundaki ve sağındaki değerler birbirine eşitse, 'eşittir' koşulu doğru olur.

```lua
local age = 1
if age == 20 then
	print("You are 20!\n")
end
```

#### Eşit Değildir

`~=` işaretinin solundaki ve sağındaki değerler birbirine eşit değilse, 'eşit değildir' koşulu doğru olur. Ayrıca `~=` yerine `!=` de kullanabilirsiniz.

```lua
local age = 15
if age ~= 20 then
	print("You are NOT 20!\n")
end
```

Aşağıdaki kod, yukarıdaki kodla aynıdır.

```lua
local age = 15
if age != 20 then
	print("You are NOT 20!\n")
end
```

#### Küçüktür

Soldaki değer sağdaki değerden küçükse, 'küçüktür' koşulu doğru olur.

```lua
local age = 15
if age < 20 then
	print("You are under 20!\n")
end
```

#### Büyüktür

Soldaki değer sağdaki değerden büyükse, 'büyüktür' koşulu doğru olur.

```lua
local age = 15
 if age > 20 then
     print("You are over 20!\n")
 end
```

#### Küçük Eşittir

Soldaki değer sağdaki değere küçük veya eşitse, 'küçük eşittir' koşulu doğru olur.

```lua
local age = 15
if age <= 20 then
	print("You are 20 or below!\n")
end
```

#### Büyük Eşittir

Soldaki değer sağdaki değere büyük veya eşitse, 'büyük eşittir' koşulu doğru olur.

```lua
local age = 15
if age >= 20 then
	print("You are 20 or over!\n")
end
```

Bu, Lua'ya yeni başlayan betikçiler için çok fazla gelebilir, ancak Koşullu İfadeleri (Conditionals) kullanarak yeterince pratik yaparsanız, sonunda olayı kavrayacaksınız.

## Else-If İfadesi

Son olarak, size `else if`'in nasıl yapıldığını göstermek istiyorum. `Else if`, temel olarak Lua'da "Eğer o değilse, o zaman eğer..." demek için kullanılır. Bu, `else` kullanmaktan daha kesindir, ancak `else if` her zaman etkili DEĞİLDİR.

```lua
local age = 15
if age < 15 then
	print("Sorry, you need to be at least 15.\n")
elseif age > 18 then
	print("Sorry, nobody over 18 is allowed in here.\n")
else
	print("Welcome to High School!")
end
```

Bu betiğin yaptığı şey, liseye gidip gidemeyeceğinizi anlamaya çalışmaktır. Eğer 15 yaşından küçük değilseniz ve 18 yaşından büyük değilseniz, o zaman içeri girebilirsiniz.

Kendiniz bir deneyin. Notepad'de basit bir if ifadesi yazmayı deneyin. Yardıma ihtiyacınız olursa buradaki örneklere bakın. Basit olanlarla başlayıp ilerleyin.

## Sırada ne var?

Sırada [tabloları](https://gmod.tr/wiki/Beginner_Tutorial_Tables) öğreneceğiz.

- [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/Beginner_Tutorial_If_Then_Else
