Ruby Günlüğü – Gün 6

Şu aralar günlüğü biraz boşlamıştım açıkcası, farklı projeler içerisine girip Ruby’yi biraz unuttum, ama bugün bulduğum mis gibi bir kitapla tekrar kaldığım yerden devam ediyorum. Her programcının elinin altında bulunması gereken türden bir kitap ;

Regular Expression Pocket Reference: Regular Expressions for Perl, Ruby, PHP, Python, C, Java and .NET

Şuradan : http://www.amazon.com/Regular-Expression-Pocket-Reference-Expressions/dp/0596514271/ref=dp_ob_title_bk/188-1156418-0492525

En son değişkenler ve bazı koşullu ifadeler hakkında biraz yazmıştım. Şimdi sıra basit döngülerde.

Döngüler

Eğer programımız aynı işlemi tekrarlar halinde birden çok yapacaksa, bunu manuel olarak yapmamız oldukça meşakkatli olacaktır. Bunun çözümü ise döngü kurmaktan geçer.

Ruby’nin İngilizce bildiğiniz söylediğim konuda bir örnek yazmıştım;

Bu kod ekrana 5 kez “serhat” yazdırıp, işlemini tamamlıyordu.

Burada do ve end kullanmak yerine süslü parantezlerde kullanabiliriz. Genelde Ruby programcıları tek satırlık ifadeler için do ve end kullanmazlar, bunun yerine süslü parantezler kullanırlar ;

Bu yazım tarzı kodun daha okunur olmasını sağlamakta.

Ruby’de döngü kurmal için “iterator” ismini verdiğimiz bir yapı bulunmakta. Iterator’a Türkçe’de “tekrarlayıcı” diyebiliriz veya bu anlamı doğuracak herhangi bir şey..

Şuana kadar FixNum sınıfının bir metodu olan “times”ı görmüştük. Şimdi “upto”, “downto” ve “step” gibi metodları yani fonksiyonları göreceğiz.

Aslında kod çok açık, hatta şu noktada meraklı bir programcı adayı, hemen benim yaptığım gibi IDE’yi açıp bi sonuç görmek ister. O anda farklı birşeyle karşılaşır !

1’den 5’e kadar sayar. Ve her sayışta ekrana bir tane “serhat” yazdırır. Yani toplamda 5 tane “serhat” yazdırılır.

10’dan 3’e kadar geri geri sayar. Ve her sayışta ekrana bir tane “serhat” yazdırır. Yani toplamda 8 tane “serhat” yazdırılır.

0’dan 50’ye 5’er 5’er sayar. Ve her sayışta ekrana bir tane “serhat” yazdırır. Yani toplamda 11 tane “serhat” yazdırılır.

Peki ya ekrana, sayma işleminde geçilen adımları bastırmak istersek? Aslında demin IDE’nin bize söylediği tam olarak buydu ;

Bu snippet ise ekrana 1,2,3,4,5 bastıracaktır.

Bu kod parçasını daha açıklayıcı olacak şekilde şöyle de yazabilirdik ;

Küsürlü Sayılar (Floats)

Burada ki birçok şey Python programcılarına tanıdık gelecek.

Çünkü integer/integer = integer’dır.

Çünkü float/integer = float

integer/float = float

float/float = float

Şimdi rakamları kendimiz girersek sorun yok, bir şekilde integer veya float olarak belirtebiliyoruz, fakat rakamları kullanıcıdan alacak olursak sorun olacaktır.

O halde ne yapmak gerekir ?

Integer’lar için “to_f” isimli bir metodumuz var, Fixnum sınıfının bir built-in metodu.

Tam tersi olan Float’lar için ise “to_i” isminde bir metodumuz var, o da Fixnum’un bir metodu.

hepsi bu kadar.

Hatta bugünlük de bu kadar.

Leave a Reply