1 min read

Ruby Loop Döngüsü

Ruby dilinde bir çok döngü çeşidi mevcuttur. Bu yazıda bahsedeceğim döngülerden biri olan loop döngüsünü size örnekle açıklayayım.

Loop döngüsü herhangi bir koşul almaksızın döngüyü siz bitirmediğiniz sürece sürekli aynı işlemi tekrarlamasına olanak sağlar. Yani sonsuz bir döngü oluşturur.

Bir kullanıcı giriş sayfasında kullanıcıya doğru şifreyi girene kadar aynı işlemi tekrarlatmak istiyorsak bunu döngü içerisinde yapabiliriz.

 

#encoding: UTF-8

loop{

  print "Kullanıcı adını girin: "

  gets().chomp() != 'enes' ? redo : true

  print "Şifrenizi Girin: "

  break if gets.chomp == '123456'

}

puts "Hoş Geldiniz.."

 

Kullanıcı adını girin: Enes
Kullanıcı adını girin: enes
Şifrenizi Girin: 123
Kullanıcı adını girin: enes
Şifrenizi Girin: 123456
Hoş Geldiniz..

Kodumuzu incelediğimizde loop{} ile diğer bloklardan farklı olarak bir döngü oluşturduk.

  gets().chomp() != 'enes' ? redo : true

Bu satırda ise kullanıcıdan bir veri girişi yapmasını istedik, gelen veride yer alan yeni satır karakterini sildik.  Gelen değeri if else yapısına soktuk. “İf else yapısı nerede ?” diye soracak olursanız “gets().chomp() != ‘enes'” if’in başlangıcı yani şartı oluyor, ” ? redo ” if şartının gerçekleşmesi durumunda uygulanacak kod, ” : true ” ise else durumunda yani şartın false dönmesi halinde uygulanacak satır. Burada ilk denememizde “Enes” değerini verdiğim için ve şart sağlandığı için redo metodu çalıştırıldı. Bu metot loop’u başa sarıyor ve tekrar aynı işlemleri yapmasını istemiş oluyoruz. İkinci denememde kullanıcı ismini doğru girdikten sonra  şifre bölümünü yanlış girdim ve break şartını gerçekleştiremedim için break metodum çalışmadı.

Son denemem de tüm koşulları yerine getirdiğim için loop’dan break metodu ile çıktım ve programın akışı devam etti.