1 min read

Ruby Stringlerde Aralık Verme İşlemleri

Ruby’de her stringi bir array (dizi) olarak düşenebilirsiniz. Bu sayede stringler üzerinde işlemler yapmak kolay olacaktır. Örnek olarak bir string değişkeninde istediğimiz harfi döndürebiliriz tıpkı array’lerde olduğu gibi.

string = "Eksik bir şey mi var hayatımda?"
puts string[11] #=> Çıktısı "e" olacaktır.

Aynı dizilerde olduğu gibide belirli aralıkları da stringlerde alabiliriz.

string = "Eksik bir şey mi var hayatımda?"
puts string[0,20] #=>  0'dan başlayarak 20 karakter getir. Çıktısı= "Eksik bir şey mi var"

Yukarıdaki örnekte açıklamada olduğu gibi string değişkeninde 0.karakterden başlayıp 20 tane karakter döndür dedik.

Peki ya 0’dan başla 20.karaktere kadar olan aralıktakileri getir deseydik?

string = "Eksik bir şey mi var hayatımda?"
puts string[0..20] #=> Çıktısı "Eksik bir şey mi var" olacaktı

Yukarıdaki [0..20] ile [0,20] arasında bir fark olmadığını zannedebilirsiniz ancak bu yanlış.

string = "Eksik bir şey mi var hayatımda?"
puts string[3..20] #=> 3.karakterden başla 20.karaktere kadar olanları döndür. "ik bir şey mi var" olacak

Açıklamada olduğu gibi 3.karakterden başlayığ 20.karaktere kadar olanları döndürdü bize Ruby sağ olsun 🙂 Ancak burada dikkat edilmesi gereken [3..20] 20.karakteride içine dahil etti. Eğer dahil olmasını istemeseydik.

string = "Eksik bir şey mi var hayatımda?"
puts string[3..25]    #=> 3'den başla 25.karaktere kadar getir. 25.karakter dahil.
puts string[3...25]   #=> 3.karakterden başla 25.karaktere kadar olanları getir. 25.karakter dahil değil.
puts string[3,25]     #=> 3.karakterden başla 25 adet karakter döndür.

=begin
Çıktılar

ik bir şey mi var hayat
ik bir şey mi var haya
ik bir şey mi var hayatım
=end