#scala #scalaz #scala-option
#scala #scalaz #scala-option
Вопрос:
Я вижу следующий код:
val a = (x: Int) => (x == 1).option(doSomethingUnrealiable(1))
Эквивалентно ли это:
val a = (x: Int) => if (x == 1) Option(doSomethingUnrealiable(1))
Я спрашиваю, потому что я изо всех сил пытаюсь найти doco на Scalaz для этого .option
метода.
Ответ №1:
Нет, этот код эквивалентен:
<...> if (x == 1) Some(doSomethingUnrealiable(1)) else None
Тип результата if (x == 1) Option(...)
— это Any
(точно так if (x == 1) Option(...) else ()
же).
Смотрите Scalaz
документацию:
Возвращает заданный аргумент в
Some
ifcond
istrue
,None
в противном случае.
Смотрите также шпаргалку Scalaz:
(1 < 10) option 1 assert_=== 1.some
Комментарии:
1. Спасибо — есть какие-либо документы по функции ScalaZ .option, кроме чтения исходного кода библиотеки?