Kotlin Arrow для булевых значений - PullRequest
1 голос
/ 25 марта 2019

У меня есть много проверок типа if (obj?.bool == true), потому что логическое значение обнуляется.Какой более элегантный способ заменить его, например, на Arrow?

1 Ответ

4 голосов
/ 26 марта 2019

Предполагая, что вы спрашиваете о Boolean? (обнуляемом логическом значении), тогда вам не нужна стрелка, этот простой код Котлина работает:

if (bool?:false) {
  // This code is run only if bool is not null and true
} else {
  // This code is run if bool is null or false
}

Если вы спрашиваете оObject? (обнуляемый объект) со логическим свойством val, тогда эквивалентный код будет:

if (obj?.bool?:false) {
  // This code is run only if obj is not null and obj.bool is true
} else {
  // This code is run if obj is null or obj.bool is false
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...