2009-07-28 31 views
10

Bu kodu varsa:Groovy haritası sözdizimi hatası


def type_3byte_bgr = BufferedImage.TYPE_3BYTE_BGR 
:
illegal colon after argument expression; 
    solution: a complex label expression before a colon must be parenthesized at

yazmaya daha bu başka bir çözüm var mı:


import javax.swing.* 
import java.awt.image.* 

def xMap = [ 
    BufferedImage.TYPE_3BYTE_BGR  : "3 byte BGR", 
    BufferedImage.TYPE_4BYTE_ABGR : "4 byte ABGR", 
] 

IDE bu hatayı üretecektir Tüm sabitler için

?

cevap

20

Harita değişmezleri geçerli tanımlayıcıları veya parantez içinde olmak anahtarlarını gerektirir. Bunun çalışması gerekir:

def xMap = [ 
    (BufferedImage.TYPE_3BYTE_BGR)  : "3 byte BGR", 
    (BufferedImage.TYPE_4BYTE_ABGR) : "4 byte ABGR",] 
2

Hata mesajı, nasıl çözüleceğini anlatır: etiket ifadesini parantezler.

import java.awt.image.BufferedImage 

def xMap = [ 
    (BufferedImage.TYPE_3BYTE_BGR)  : "3 byte BGR", 
    (BufferedImage.TYPE_4BYTE_ABGR) : "4 byte ABGR", 
] 

println xMap[BufferedImage.TYPE_3BYTE_BGR] 
+4

Dilinizi kontrol edin lütfen. – Geo