Даже с преобладанием монад Box и Option нам все равно придется проверять наличие нулевых значений здесь и там.Лучшее, что я придумал, это использование Box # !!Метод:
(Box !! possiblyNull).map(_.toString).openOr("")
Есть ли лучший способ сделать это?Я пытался использовать метод применения Box:
Box(possiblyNull).map(_.toString).openOr("")
Но компилятор жаловался на неоднозначную ссылку на перегруженное определение, а именно:
[InType,OutType](value: InType)
(pf: PartialFunction[InType,OutType])net.liftweb.common.Box[OutType]
Я не уверен, почему это происходит, ноЯ надеялся, что будет более короткий и краткий способ сказать «Дайте мне значение этой строки или просто» ». Я думал об использовании трио, но считал расточительным иметь дело с исключением, когда его можно избежать.