微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

scala – 简化if(x)Some(y)else?

这种常见的模式感觉有点冗长:

if (condition) 
  Some(result)
else None

我正在考虑使用一个函数来简化:

def on[A](cond: Boolean)(f: => A) = if (cond) Some(f) else None

这减少了最大的例子:

on (condition) { result }

这样的事情已经存在了吗?还是这个过度的杀手?

解决方法

Scalaz包括 option功能

import scalaz.Syntax.std.boolean._

true.option("foo") // Some("foo")
false.option("bar") // None

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐