Grails 2.4.x здесь. Я просматриваю код квази-унаследованного приложения Grails и вижу эту маленькую жемчужину:

public static boolean isFizz() {
    def isEnabled = isFizz
    if (isEnabled != true && isEnabled != false) {
        // Config is missing, so default to true
        return true            
    }

    isEnabled
}

Действительно? Разве это не должно быть просто:

public static boolean isFizz() {
    def isEnabled = isFizz
    if (isEnabled == null) {
        // Config is missing, so default to true
        return true            
    }

    isEnabled
}

Что возвращает grailsApplication.config.XYZ, если XYZ не определен внутри Config.groovy? Нулевой? Что-то другое?!?

1
smeeb 4 Мар 2016 в 13:29
1
Насколько я помню, будет возвращена пустая карта. Вы можете проверить это с помощью println
 – 
user3718614
4 Мар 2016 в 15:17

1 ответ

Лучший ответ

@ user3718614 правильный. Результат - пустой Map -> [:]

Из-за Groovy Truth пустой Map оценивается как ложный.

1
Emmanuel Rosa 4 Мар 2016 в 18:43