SORU
2 NİSAN 2013, Salı


ruby'de bir nesnenin türünü belirlemek

Arıyorum ne bir örnek (eğer python biliyor musun diye psuedocode olarak düşünebilirsiniz) olarak python kullanacağım:

>>> a = 1
>>> type(a)
<type 'int'>

Ruby yapabileceğimi biliyorum :

1.9.3p194 :002 > 1.class
 => Fixnum 

Ama bu doğru yolu nesne türünü belirlemek için.

CEVAP
2 NİSAN 2013, Salı


Belirlemek için uygun şekilde "tip" Ruby dünyanın titrek bir terim olan bir nesne, arama object.class.

Beri sınıfları aktarmak için diğer sınıfları, eğer istediğiniz olup olmadığını belirlemek için bir nesnedir "tip" diye çağrı object.is_a?(ClassName) görmek object tipi ClassName veya türevi.

Normalde bir tür denetleme Ruby yapılır, ancak bunun yerine, nesneleri belirli yöntemler karşılık yeteneklerine göre değerlendirilir, yaygın olarak adlandırılan "Duck typing". Eğer istediğiniz yöntemleri için yanıt verirse, diğer bir deyişle, bu tür hakkında belirli olması için bir sebep yok.

Örnek çok katı olduğu için. object.respond_to?(:to_s) yayarlar veya bir dize dönüştürülebilir herhangi bir nesne kullanımına izin vermesi gibi daha iyi olurdu.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • expertvillage

    expertvillag

    5 NİSAN 2006
  • AutoStream's Garage419

    AutoStream's

    15 EKİM 2007
  • ThePhestor

    ThePhestor

    22 Mart 2011

İLGİLİ SORU / CEVAPLAR