SORU
28 Aralık 2010, Salı


Ruby bir sınıf olup olmadığını Test başka bir sınıfıdır

Bir sınıfın başka bir sınıftan miras olup olmadığını test etmek istiyorum, ama bunun için bir yöntem var gibi görünmüyor.

class A
end

class B < A
end

B.is_a? A 
=> false

B.superclass == A
=> true

Benim ne istediğim önemsiz bir uygulama olacaktır:

class Class
  def is_subclass_of?(clazz)
    return true if superclass == clazz
    return false if self == Object
    superclass.is_subclass_of?(clazz)
  end
end

ama bu zaten beklenir.

CEVAP
28 Aralık 2010, Salı


Sadece < operatörünü kullanın

B < A # => true
A < A # => false

veya <= operatörünü kullanın

B <= A # => true
A <= A # => true

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Cristina Landa

    Cristina Lan

    28 Ocak 2010
  • Ryan Billy

    Ryan Billy

    30 EKİM 2006
  • Tutorials Junction

    Tutorials Ju

    1 Ocak 2014