を使用したくない、:私は、値のペアを持って、V1 =「フィールド1」とv2、フィールド名を持つ値を設定する必要があると私はいくつかのフィールドを持つオブジェクトを持っているスイッチ
class TestObj {
def field1
def field2
}
= "value2"私は、v1をv1の名前に基づいて適切なフィールドに設定したいと思いますが、スイッチやステートメントでそれを行う必要はありません。私はそこに多くの "groovier
01:私はこれをやってみましたsetValues(def fieldName, def fieldVal) {
if (fieldName.equals("field1")) {
field1 = fieldVal
}
if (fieldName.equals("field2")) {
field2 = fieldVal
}
}
:このような何かをやっ以外の結果を達成するための「道
setValues(def fieldName, def fieldVal) {
this['${fieldName}'] = fieldVal
}
は、しかし何のプロパティ$ {フィールド名}
おかげではありませんと言って、失敗しています。あなたはこのように、フィールドを取得するとき
[OK]を、これは動作します。これを[ "$ {フィールド名}"] = fieldVal –
'' 通常の文字列で、マクロでは動作しません、「$ 'is is' is is 'is is'変数の値に解決されます。 – xlson