Scala: Boolean to Option

前端 未结 10 1750
一整个雨季
一整个雨季 2021-02-02 05:30

I have a Boolean and would like to avoid this pattern:

if (myBool) 
  Option(someResult) 
else 
  None

What I\'d like to do is



        
10条回答
  •  遥遥无期
    2021-02-02 05:43

    Another choice:

    implicit class RichOptionCompanion(val self: Option.type) extends AnyVal {
      def when[A](cond: Boolean)(value: => A): Option[A] = if(cond) Some(value) else None
    }
    

    Usage:

    Option.when(foo != "bar") { ... }
    

提交回复
热议问题