我看到以下代码:
val a = (x: Int) => (x == 1).option(doSomethingUnrealiable(1))
这相当于:
val a = (x: Int) => if (x == 1) Option(doSomethingUnrealiable(1))
我问,因为我正在努力在Scalaz上找到这个.option
方法的doco。
答案 0 :(得分:4)
不,这段代码相当于:
<...> if (x == 1) Some(doSomethingUnrealiable(1)) else None
if (x == 1) Option(...)
的结果类型为Any
(就像if (x == 1) Option(...) else ()
)。
如果
Some
为cond
,则返回true
中的给定参数,否则返回None
。
(1 < 10) option 1 assert_=== 1.some