小编Eri*_*ric的帖子

如何简化这种模式匹配?

假设我有这样的函数:

def foo(x: Int): Int = ???

def bar(xs: List[Int]): List[Int] = xs map {
  case x if (x > 0) => x
  case x if (foo(x) > 0) => foo(x) + 1
  case _ => 0 
}
Run Code Online (Sandbox Code Playgroud)

问题是foo被叫两次.你怎么写只打一次bar电话foo

scala pattern-matching

3
推荐指数
1
解决办法
92
查看次数

标签 统计

pattern-matching ×1

scala ×1