return kelime manası olarak
dön anlamına gelir. Yani bir proc içerisinde kullanırken daha çok if-elseif-else gibi kısımların içerisinde ve döngü içlerinde kullanırız. Oraya geldiğinde o sonuca dön manasında. Bir kaç örnek verince daha da anlaşılır hale gelecektir.
sıklıkla kullanılan
return 0 ve
return 1 değelerini de açıklayayım. Eğer 0 dersek, kod orada durur ve daha ilerisine bakmaz. peki return 1'i ne için kullanırız? Biliyorsunuz ki
if içerisinde yazdığımız mantıksal değer'in sonucu 1 ise kod if içerisindeki işlemleri uygular, eğer 0 ise o if içerisine hiç girmez. İşte if içerisinde kullandığımız komut return 1 olarak döndüyse if içerisine girer ve oradaki işlemleri uygular. 0 ve 1'in haricinde herhangi istediğimiz bir değere de return yaptırabiliriz. Mesela
return deneme şeklinde kullanabiliriz. İşte bu elde edilen
deneme değerini de if içerisinde ="deneme" şeklinde kullanabiliriz. Şuana kadar anlatıklarımdan çok fazla birşey anlamamış olabilirsiniz, ama örneklerle pekiştirecez.
proc don {} {
if {[donbak]} {
putlog "if içerisindeyim"
return 0
}
putlog "donbak değeri 0 olarak döndü"
}
proc donbak {} {
return 1
}
İlk önce
don adında bir komut oluşturduk. O komut içerisinde if sorgusu yapıyoruz. "Eğer
donbak adlı komutun değeri 1 ise" diyoruz. Eğer sonuç 1 ise if içerisine giriyor ve bize
if içerisindeyim sonucunu veriyor ve return 0 ile de işlemi durduruyoruz. Eğer
donbak komutu içerisindeki return değeri 0 olarak dönseydi
if içerisine hiç girmeyecek ve bize
donbak değeri 0 olarak döndü diyecekti.
Şimdi ise aynı örneği 0 ve 1 değerinden farklı olarak gösterelim.
proc don {} {
if {[donbak]=="evet"} {
putlog "if içerisindeyim"
return 0
}
putlog "donbak değeri 0 olarak döndü"
}
proc donbak {} {
return evet
}
Burada ise sonuç
evet ise if içerisine gir ve orada mesajı ver, sonra işlemi durdur diyoruz, eğer cevap evet'ten farklı birşey ise if içerisine hiç girme sonraki işlemleri uygula diyoruz.
Genel kullanım bu şekildedir, herzaman söylediğim gibi örnekleri yapıp konsoldan da takip ederek denerseniz daha iyi anlayacaksınız. Örnekler çoğaltılabilir, anlamadığınız yerler olursa sorarsınız daha fazla örneklerle açıklarız.