Pawn Dili İfade ve Döngüler - Bölüm : 1
Gönderilme zamanı: Çrş Haz 12, 2019 12:09 pm
Tüm programlama dillerinde olduğu gibi pawn dilinin de ifade ve döngüleri bulunmaktadır. Bu ifade ve döngüler aşağı yukarı tüm programlama dillerinde bulunmakta ve benzerlik göstermektedirler. Bu başlık altında inceleyeceğimiz ifadeler if-else, switch-case; inceleyeceğimiz döngüler ise for, while ve do-while şeklinde olacaktır.
BÖLÜM - 1 : İfadeler
if ifademiz bir koşulun sağlanıp sağlanmadığı durumları kontrol etmemize imkan sağlıyor. Mantıksal işlemlerin sonucu 1 (true) veya 0 (false) dır. if komutumuzun yanındaki koşul sağlandığı takdirde true yani 1 değeri döner. Bu true değerinin dönmesi, ifademizin altındaki kod bloğunun sistem tarafından okunacağı anlamına gelmektedir. Örnek verecek olursak: else if ifadesi, if ile tamamen aynı görevi görür tek fark if ile belirilten koşulun sağlanmadığı durumda okunmasıdır. Burada dikkat etmemiz gereken nokta ise else ifadelerini sadece bir if ifadesinin altında kullanabiliyor olmamızdır.
else ifadesi ise kendinden önce gelen if veya else if ifadelerinin sağlanmadığı durumda okunmaktadır.
Bonus Örnek :
switch ifadesi yanına aldığı değişkenin değerini varsa uygun case'ye eğer yoksa sadece default: etiketi altına iletir.
Burada dikkat etmemiz gereken default etiketidir. Normal şartlarda default etiketi, switch ifadesinin durumu
ne olursa olsun okunmaktadır fakat pawn dilinde her bir case'in sonunda gizli bir break; komutu bulundurur.
Bu komut sistem tarafından okunduğunda içinde bulunduğu switch ifadesini veya herhangi bir döngüyü sonlandırır.
Dolayısıyla case'lerle belirtilen koşulların sağlanması halinde default etiketinin kod bloğu okunmamaktadır.
Bonus Örnek :
BÖLÜM - 1 : İfadeler
if ifademiz bir koşulun sağlanıp sağlanmadığı durumları kontrol etmemize imkan sağlıyor. Mantıksal işlemlerin sonucu 1 (true) veya 0 (false) dır. if komutumuzun yanındaki koşul sağlandığı takdirde true yani 1 değeri döner. Bu true değerinin dönmesi, ifademizin altındaki kod bloğunun sistem tarafından okunacağı anlamına gelmektedir. Örnek verecek olursak:
Kod: Tümünü seç
new x = 5;
if(x > 10) {
//kod
} // x'e ilk değer olarak 5 verdik. (5 > 10) sonucunda false değeri döndü dolayısıyla ifadenin altındaki satır okunmadı.
Kod: Tümünü seç
new x = 5;
if(x > 10) {
//kod
}
else if(x == 5) {
//kod
}
// x'e ilk değer olarak 5 verdik. (5 > 10) sonucunda false değeri döndü ve if ifadesinin kod bloğu okunmadı.
Üstteki koşul sağlanmadığı için else if ifadesi okundu ve true değeri döndü. Eğer if ifadesinde true değeri dönseydi else if okunmayacaktı.
Kod: Tümünü seç
new x = 10;
if(x > 10) { // Eğer x değeri 10'dan büyükse yaz.
// yaz()
}
else if(x == 5) { // Eğer x değeri 10'dan büyük değil de 5'e eşitse ciz.
// ciz()
}
else { // Eğer üsttekilerin hiçbiri de değilse oku.
// oku()
}
Kod: Tümünü seç
new x = 100;
if(x < 100 && x > 50) { // Eğer x 100'den küçük ve 50'den büyükse uyu.
// uyu()
}
else if(x < 10 || x == 50) { // Eğer üstteki değilse de x 10'dan küçük veya 50'ye eşitse yat.
// yat()
}
else { // Eğer üsttekilerin tümü de doğru değilse uzan.
// uzan();
}
Kod: Tümünü seç
new x = 10;
switch(x) {
case 1: { // x değeri 1 ise koş.
// koş();
}
case 2: { // x değeri 2 ise yürü.
// yürü();
}
case 0..4: { // x değeri 0-4 (ikisi de dahil) arasındaysa uyu.
// uyu();
}
case 10: { // x değeri 10 ise yat.
// yat();
}
default: kalk(); // Üstteki tüm durumlar yanlışsa kalk.
}
ne olursa olsun okunmaktadır fakat pawn dilinde her bir case'in sonunda gizli bir break; komutu bulundurur.
Bu komut sistem tarafından okunduğunda içinde bulunduğu switch ifadesini veya herhangi bir döngüyü sonlandırır.
Dolayısıyla case'lerle belirtilen koşulların sağlanması halinde default etiketinin kod bloğu okunmamaktadır.
Bonus Örnek :
Kod: Tümünü seç
switch(get_user_team(id)) {
case 1: { // Takımı te ise
// ak47()
}
case 2: { // Takımı ct ise
// m4a1();
}
}