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

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...