Я пытаюсь устранить большое количество инструкций IF/ELSE из моего кода с использованием тернарного оператора.Groovy trernary operator prints null
//Checks to see if person exists //if not then add //else print
println doesPersonExist(personName) ? addPerson(personName) : 'No such person'
Проблема заключается в том, что если метод addPerson (PERSONNAME) выполняется, то значение NULL печатается из-за Println. Есть ли что-нибудь из NULL из printng на консоль? Я понимаю, что могу удалить println, но потом «Нет такого человека» не будет печатать.
UPDATE: Я, наконец, удалось получить эту работу по мере необходимости - я просто удалил Println, а также «Нет такого человека» и заменить их следующим образом:
doesCarrierExist(carrierName) ? exists() : addCarrier(carrierName)
Если существует способ просто называется Println заявление в базовом классе. Я надеюсь, что это поможет любому, у кого есть аналогичная проблема в будущем.
Правильный способ избежать печати «null» заключается в том, чтобы избежать вызова 'println'. Другими словами, вы должны изменить свой код на использование операторов 'if'. В них нет ничего плохого. – yole
Вы ищете что-то вроде 'doesPersonExist (personName)? addPerson (personName): println («Нет такого человека») '? –