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

  • Fubar Protocol

    Fubar Protoc

    21 AĞUSTOS 2010
  • Paste Magazine

    Paste Magazi

    28 AĞUSTOS 2008
  • snookie77

    snookie77

    2 Mart 2006

İLGİLİ SORU / CEVAPLAR