19. Gün | Ruby Ranges Part2

Ruby de ranges yani aralıklı neslere bir önceki yazımızda başlamıştık bugünde aralıklı nesnelerin kalan kısmını tamamlayalım. Aralıklı nesneler ile kullanabileceğimiz bazı metodlardan da bahsetmiştik bugün de geri kalan metodlara göz atalım ve aralıklı nesneler konumuzu tamamlayalım.

Ranges Metodları

 

Cover Metodu

Cover metodu ile aralıklar arasında belirttiğimiz parametrenin olup olmadığını kontrol eder ve çıktı olarakta true ve false değerleri döner.

Kullanımı: aralıklı_nesne.cover?(arama_yapılacak_parametre)

Örneğimizde; belirlenen aralıklta 11 değerinin olup olmadığını sorgulattık.

Örneğimizin çıktısı olarakta true değerini aldık.

End ve Last Metodları

End metodu aralığın son değerini almamıza yarar. Last metodu ise aralığın belirlediğimiz kadar ki son değerlerini almamıza yarar.

Kullanımlar

aralıklı_nesne.end

aralıklı_nesne.last(parametre)

Min, Max ve Size Metodları

Min ve Max metoları adlarında anlaşılacağı gibi, aralık içindeki en küçük değeri min metodu, en büyük değeri de max metodu ile buluruz. Aralık arasında kaç tane eleman olduğunu belirtmek içinse size metodunu kullanırız.

Kullanımlar

aralıklı_nesne.min

aralıklı_nesne.max

aralıklı_nesne.size

min,max ve size metodlarının kullanımı yukarıdaki örneğimizde de görülmektedir. Örneğin çıktısını aşağıda görebilirsiniz.

Step Metodu

Bu metod sayesinde aralıklı nesneler arasında atlama yaparak ekrana yazdırabiliriz. Bu metodu kullanırken dikkat etmemiz gereken bir nokta aralıklı nesneleri ekrana bastırırken dizi formatına dönüştürmemiz gerekmektedir. Aşağıdaki örneği incelerek bu metodun kullanımını daha iyi anlayabilirsiniz.

Örneğimizde 10 dan başlayarak 50 de dahil olmak üzere aralıktaki sayıları 5’er 5’er atlayarak ekrana basılmasını istedik.

Örneğimizin çıktısı yukarıda görüldüğü gibidir.

Böylece aralıklı nesneler ile kullanabileceğimiz metodları görmüş olduk ve aralıklı nesneler konumuzu tamamladık.

Umarım faydalı bir yazı olmuştur. Başka bir Ruby Günlüğünde görüşmek üzere….

Leave a Reply

Your email address will not be published. Required fields are marked *