2 min read

Ruby If Else Koşul Durumları Kullanımı

Programlamada olmazsa olmaz bir yapı olan if else yapısını bu dersimide göreceğiz. Genel mantık olarak İf Else yapısı istenilen şartın gerçekleşmesi durumunda yapılması istenen yada istenen durumun gerçekleşmediği durumda yapılması istenen yerlerde kullanılır. Örneklerle daha iyi kavrayacağınıza inanıyorum..

if (şartımız) then
    Yapılması İstenen Durum
end

Görüldüğü gibi şartımız İf yapısının kullanımı örnekte ki gibidir. Parantez içinde şartımız belirlenir. Then kullanımı isteğe bağlıdır kullanım nedeni ise uzunca belirlenen şartlarda kafa karıştırmayı önlemesi amacıyla nerede bittiğini belirtiriz. Kullanımını tavsiye ederim. end koşulun sonlandığı yerdir, if ile end  arasında yazılan tüm kodlar şart istenilen gibi olduysa gerçekleşir.

#encoding: UTF-8
print "Programımıza Hoş Geldiniz. Devam edebilmeniz için yaşınızı girmelisiniz: "
yas = gets.chomp.to_i # Girilen yazı sonunda yeni satıra geçmeyi engelledik, gelen değeri sayıya çevirdik.
if (yas > 18) then
  puts "Programa Giriş Başarıyla Sağlandı."
end

Programımızı kullanmak isteyen kullanıcıdan öncelikle yaş bilgisini istedik eğer ki (koşul) yaşı 18’den büyükse giriş yapabilmesini istedik. Yaşı 18’den büyükse (çalışması istenen kodlar) ekrana “Giriş Başarılı” ifadesi yazsın istedik.

Peki ya kullanıcının yaşı 18’den küçükse? Bu durumda şart gerçekleşmezse diye de else yapısını kullanacağız. Örneğimize geçelim hemen..

#encoding: UTF-8
print "Programımıza Hoş Geldiniz. Devam edebilmeniz için yaşınızı girmelisiniz: "
yas = gets.chomp.to_i
if (yas > 18) then
  puts "Programa Giriş Başarıyla Sağlandı."
else
  puts "Programa Sadece 18 Yaşından Büyükler Giriş Yapabilir"
end

else yapımız if şartı sağlandığında çalışan kodlardan hemen sonra yerini alır ve end den önce gelir. Program şart sağlanmadığı takdir de if kodlarına bakmaksızın else yapısında bulunan kodları çalıştıracaktır.

Ya birden fazla istenen durum varsa?

Bu sorunuzun cevabına elsif yetişiyor. Bir if else yapısında istediğiniz kadar şart koşabilirsiniz. İf koşulu gerçekleşmezse şayet elsif satırı kontrol edilir eğer ki bu satırda istenen durum gerçekleşirse istenilen kodlar çalışır. Bu durumda da istenen gerçekleşmezse else yapımızda bulunan kodlar ile işimizi bitirebiliriz.

#encoding: UTF-8
print "Programımıza Hoş Geldiniz. Devam edebilmeniz için yaşınızı girmelisiniz: "
yas = gets.chomp.to_i
if (yas > 18) then
  puts "Programa Giriş Başarıyla Sağlandı."
elsif (yas == 17) then
  puts "Programa Giriş Yapabilmeniz İçin Aile Onayınız Gerekmektedir"
else
  puts "Programa Giriş Başarısız"
end

Burada unutulmaması gereken bir nokta; istenilen miktarda elsif şartı girilebilir sadece bir elsif şartı girmek zorunda değilsiniz.