9 bölüm geldik ama hala if bile görmedik dediğinizi duyar gibiyim 🙂 merak etmeyin bu derste if yapısına geçiyoruz.
Tcl, çoğu dil gibi, bir if komutunu destekler. Söz dizimi şu şekildedir:
if expr1 ?then? body1 elseif expr2 ?then? body2 elseif ... ?else? ?bodyN?
then ve else kelimeleri isteğe bağlıdır ve okunabilirliği artırdığını düşünüyorsanız dahil edilebilir veya çıkarılabilir. Bir kabuk dilinde programlamaya alışkınsanız, bunları dahil etmek isteyebilirsiniz. C’ye alışkınsanız, bunları çıkarmayı tercih edersiniz.
if’in ardından gelen test ifadesi şu değerlerden birini döndürmelidir:
False True
------- ------
0 diğer tüm sayısal değerler
no yes
false true
Eğer test ifadesi “yes”/”no” veya “true”/”false” bir string dönerse, dönüşün büyük/küçük harf durumu kontrol edilmez. True/FALSE veya YeS/nO geçerli dönüşlerdir.
Eğer test ifadesi True olarak değerlendirilirse, body1 yürütülecektir.
Eğer test ifadesi False olarak değerlendirilirse, body1’den sonraki kelime incelenecektir. Eğer bir sonraki kelime elseif ise, bir sonraki test ifadesi bir koşul olarak test edilecektir. Eğer bir sonraki kelime else ise, son body bir komut olarak değerlendirilecektir. Burada tek satırda anlatmaya çalıştım kodu ama örnek bir kod anlamamıza yardımcı olacaktır merak etmeyin 🙂
if kelimesinin ardından gelen test ifadesi, expr komutundaki ile aynı şekilde değerlendirilir. Hex stringleri 0xXX, değerlendirilmeden önce sayısal eşdeğerlerine dönüştürülecektir.
if’in ardından gelen test ifadesi tırnak içinde veya süslü parantez içinde olabilir. Eğer süslü parantez içinde ise, if komutu içinde değerlendirilecektir ve tırnak içinde ise, yer değiştirme aşamasında değerlendirilecek ve ardından if komutu içinde başka bir yer değiştirme turu yapılacaktır.
Hadi hemen örnek kodumuza göz atalım:
Ve böylelikle if yapılarına da TCL içerisinde göz atmış olduk. Bir sonraki bölümde görüşmek üzere 😀