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

  • ETrade Supply

    ETrade Suppl

    23 Temmuz 2011
  • Top Gear

    Top Gear

    27 Mart 2006
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007