3 Stimmen

Groovy properties/config mit mehreren Wörtern

Ich möchte, dass meine Groovy-Konfiguration in etwa so aussieht:

plans {
    'Plan 1'='123'
    'Plan 2'='456'
}

Wie kann ich dies mit Groovy parsen, so dass ich darauf zugreifen kann, ähnlich wie:

def config = new ConfigSlurper().parse(data)
assert config.plans.'Plan 1' == '123'
assert config.plans.'Plan 2' == '456'

Leider erhalte ich die Fehlermeldung:

[Plan 1] is a constant expression, but it should be a variable expression at line...

Ich bin nicht auf ConfigSlurper oder das Format der Daten festgelegt, aber ich möchte auf jeden als Strings mit mehreren Wörtern und potenziellen Sonderzeichen wie *, ^ usw. verweisen (und damit potenzielle Regexp-Probleme verursachen, wenn Regexp verwendet wurde).

3voto

epidemian Punkte 18233

Sie können diese Dinge in der Konfigurationsdatei zuweisen, wenn Sie die "vollständigen" Ausdrücke verwenden, anstatt die Plan-Definitionen zu verschachteln:

plans.'Plan 1' = '123'
plans.'Plan 2' = '456'
plans.'Plan *' = '789'

Das ist nicht sehr schön, aber man kann sich auf sie beziehen:

def config = new ConfigSlurper().parse(data)
assert config.plans.'Plan 1' == '123'
assert config.plans.'Plan 2' == '456'
assert config.plans.'Plan *' == '789'

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X