相关疑难解决方法(0)

如何在Scala中的范围上进行模式匹配?

在Ruby中我可以这样写:

case n
when 0...5  then "less than five"
when 5...10 then "less than ten"
else "a lot"
end
Run Code Online (Sandbox Code Playgroud)

我如何在Scala中执行此操作?

编辑:我最好比使用它更优雅if.

scala range pattern-matching

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

整数范围的模式匹配

我的函数的目的是在整数上加5,只要该整数大于0且小于或等于7.我尝试:

val add5Partial : PartialFunction[Int, Int] = {
  case d if (0 < d <= 7) => d + 5;
} 
Run Code Online (Sandbox Code Playgroud)

我明白了:

<console>:8: error: type mismatch;
 found   : Int(7)
 required: Boolean
         case d if (0 < d <= 7) => d + 5;
Run Code Online (Sandbox Code Playgroud)

有小费吗?

scala pattern-matching

4
推荐指数
3
解决办法
6210
查看次数

标签 统计

pattern-matching ×2

scala ×2

range ×1