1 min read

Ruby is_a? Metodu Kullanımı

Ruby dilinde her şey birer obje olduğunu ve her değişkenin bir obje olduğunu daha önceki yazılarımızda değinmiştik. Bu nedenle Ruby dilinde bir sınıfın yada modülün olup olmadığını yada extend edilip edilmediğini kontrol etmemiz gerekebilir. Bu durumlarda is_a? metodu işimizi görecektir.

is_a? metodu bir nesnenin obje olup olmadığını yada istenen bir obje olup olmadığını kontrol etmemiz için biçilmiş kaftan. En basit olarak bir örnek verecek olursak;

sayi = 2
puts sayi.is_a? Numeric #=> true

Yukarıdaki örnekte sayi isimli değişkeninin Numeric sınıfına ait olup olmadığını soruyorum. Yani bir nevi sayı olup olmadığını kontrol etmiş oluyorum. Örneği biraz daha irdeleyelim.

sayi = nil #=> NilClass
puts sayi.class #=> NilClass
puts sayi.is_a? Numeric #=> false
sayi = 2 #=> Fixnum
puts sayi.class #=> Fixnum
puts sayi.is_a? Numeric #=> True