【发布时间】:2017-03-05 07:31:31
【问题描述】:
我需要在scala中使用一堆match case,如果在match case里面怎么用for或者if,例如:
import scala.util.Random
val x = Random.nextInt(30)
val result = match x {
case 0 to 10 => bad
case 11 to 20 => average
case 20 to 30 => cool
}
第一个问题是我该怎么做而不是使用floor、ceil、round 或其他数学东西?
其次,对于字符串值,在 php 中我们可以轻松使用if (x == 'some')||(x == 'thing'){result},但这在 scala 匹配情况下如何工作?
例如当 val x 是随机的 A 到 I 时:
val result = match x {
case A || B || C => bad
case D || E || F => average
case G || H || I => cool
}
谢谢!
【问题讨论】:
-
但不一样@YuvalItzchakov 我的问题还包括字符串,我认为Pamu 的回答比使用if state 好得多
-
那里的答案不使用
if-else表达式。此外,通过查看如何将守卫与整数一起使用,您可以推断出如何对字符串执行相同的操作。
标签: string scala logic match case