Bitte erläutern Sie, warum das nicht funktioniert (Groovy 2.0.5 auf JDK7). Ich möchte nur einige Karteneinträge aus einer Liste hinzufügen.
%Vor%Es funktioniert auch nicht mit:
%Vor%Aber es funktioniert mit:
%Vor%???
Dies
%Vor% Verwendet nur einen Schlüssel namens it
. Wenn Sie es in runde Klammern setzen:
Es funktioniert wie du willst ...
Wenn Sie das tun:
%Vor% Dann können Sie sehen, dass Sie GStringImpl
: als Schlüssel und nicht als java.lang.String
(Paketnamen wurden der Kürze wegen weggelassen)
Dann versuchen Sie, einen GString-Schlüssel mit einem String nachzuschlagen, und dies schlägt fehl (siehe 'GStrings sind keine Strings' Abschnitt auf dieser Seite )
Das funktioniert:
%Vor% Erzeugt nur einen String (indem er it
an den leeren String anhängt)
Wie auch immer ... Lange Rede kurzer Sinn, benutze [(it):'value']