2012-08-29 6 views

cevap

15

genel durum için, instance? yüklemi olabilir, sınıf c bir örneği ise

(instance? c x) x ve testler değerlendirir. Doğru veya yanlış döndürür.

Örneğin

: Böyle Söz konusu kodu için

(instance? java.lang.String "test") 
> true 

(instance? java.io.Serializable "test") 
> true 

, gereğini yapalım:

(instance? package.of.IFn a) 

Veya, çok spesifik için, Açıklamalarda belirttiği edildiği gibi a'un IFn'un bir örneği olup olmadığını sorma durumu şu şekilde çalışır:

+12

Daha da iyisi, '(ifn? A)' kullanın. –

+0

@DaveRay Ne kadar? Bir arayüzün otomatik olarak bir test yüklemi ile geldiğini bilmiyordum, bu dokümantasyonda nerede açıklanıyor? "Serializable" gibi Java arayüzleri için çalışıyor mu? –

+2

Hayır, her tür için genel bir yüklem yoktur, ancak soru 'IFn' için nasıl test yapılmasını istediğini sordu, bu durumda, 'ifn?' Ifadesini kullanmaktan daha idiyom olabilir miydim? Benzer şekilde, ilk örneğiniz yerine 'string?' Kullanırdım. –

İlgili konular