Groovy: нет ли stringToMap из поля?

Вы можете использовать

Innerjoin function

Вот так

SELECT column_name(s)
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;
24
задан rdmueller 4 June 2012 в 05:55
поделиться

3 ответа

Я надеюсь эта справка:

    foo= "['a':2,'b':4]"
    Map mapResult=[:]
    mapResult += foo.replaceAll('\\[|\\]', '').split(',').collectEntries { entry ->
        def pair = entry.split(':')
        [(pair.first().trim()): pair.last().trim()]
       }
0
ответ дан 28 November 2019 в 23:37
поделиться

Думаю, вы ищете комбинацию ConfigObject и ConfigSlurper. Что-то вроде этого могло бы помочь.

def foo = new ConfigObject()
foo.bar = [ 'a' : 2, 'b' : 4 ]

// we need to serialize it
new File( 'serialized.groovy' ).withWriter{ writer ->
  foo.writeTo( writer )
}

def config = new ConfigSlurper().parse(new File('serialized.groovy').toURL())    

// highest level structure is a map ["bar":...], that's why we need one loop more
config.each { _,v ->
    v.each {key, value -> println key + " " + value}
}
3
ответ дан 28 November 2019 в 23:37
поделиться

Технически нет ничего плохого в свойстве Setter-only per-se. Setter может выполнить некоторую проверку, и, возможно, от этого могут зависеть некоторые другие методы - государственные или частные.

Например:

class SomeClass {
    private int _someVar;

    SomeClass(int someVar) {
        if(someVar > 0) _someVar = someVar;
    }

    public int SomeVar {
        set { if(value > 0) _someVar = value; }
    }

     public string SomeFunction(){
       return "This is an important function that uses _someVar " + _someVar;
     }
}

Поэтому само заявление может быть законным и действительным. Ваше тело метода - огромный кодовый запах, хотя, но это не работа компиляторов, чтобы заботиться о.

-121--1078406-

Нет в обоих случаях. В первом случае передается ссылка на сам объект, и копия не создается. Во втором случае передается указатель на конструктор объекта , поэтому копия не создается. Таким образом, объект должен иметь конструктор (не конструктор копирования), который является чем-то вроде object (anotherClass *)

-121--1721945-

Вы можете попробовать несколько сценариев, используя evaluate , это может сделать то, что вы ищете.

def stringMap = "['a':2,'b':4]"
def map = evaluate(stringMap)

assert map.a == 2
assert map.b == 4

def stringMapNested = "['foo':'bar', baz:['alpha':'beta']]"
def map2 = evaluate(stringMapNested)

assert map2.foo == "bar"
assert map2.baz.alpha == "beta"
24
ответ дан 28 November 2019 в 23:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: