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