2010-11-06 19 views
7

[:] çağrısı yaparken, bir haritadaki sınıfın niçin niçin dönüş yapılacağını açıklayan herkes [:]. GetClass() beklenen sonuç Haritasını döndürür.Groovy Harita sınıfının çözülmesi

1-

["test",[test:"test"],23].each {  
    println it.class 
} 
class java.lang.String 
null 
class java.lang.Integer 

2-

["test",[test:"test"],23].each {  
    println it.getClass() 
} 
class java.lang.String 
class java.util.LinkedHashMap 
class java.lang.Integer 

Ken

Burada

cevap

11

aşağıdaki örneğe bakınız cevap

http://jira.codehaus.org/browse/GROOVY-1824

DÜZENLEME olduğu - emin. Bir Haritasının semantik diğer bir deyişle

m.one 

gibi haritadaki girdileri erişmek mümkün olması gerekiyordu

def m = [one:1, two:2] 

varsa öyle ki düşünüyorum, harita içine erişim harita nesnesinde bir özellik almak gibi.

m.class 

sınıf döndürdüyse 'sınıf' programcı tarafından haritaya eklendi anahtar olmadığı için, bu o anlambilimini kırardı.

Ne toplarsam ....

+1

Harika, onun cevabı oldukça anlamsız olsa da, İngilizce'yi koyabilir misin? – ken

+0

@ken benim yorumumla cevabımı düzenledim – hvgotcodes

+1

Çok açıklayıcı bir açıklama, Bunun yerine JIRA sorununun cevabı olmalı. – ken