Play框架中的"匹配"Scala模板导致编译错误

dea*_*mon 4 templates scala playframework playframework-2.0

在我的Play 2.0应用程序中,我有以下match表达式:

@item.level match {
    case 0 => {?}
    case 1 => {Beginner}
    case 2 => {Medium}
    case 3 => {Expert}
} 
Run Code Online (Sandbox Code Playgroud)

但是我收到了错误消息

')' expected but 'case' found. 
Run Code Online (Sandbox Code Playgroud)

指向最后一个花括号.

这有什么不对?它看起来非常像文档中.

Kim*_*bel 7

这应该工作

@{item.level match {
    case 0 => "?"
    case 1 => "Beginner"
    case 2 => "Medium"
    case 3 => "Expert"
}}
Run Code Online (Sandbox Code Playgroud)

你需要外部{}来表明整个事物是一个Scala表达式.我假设案例中有你想要输出的字符串.在这种情况下,你必须引用它们.如果它们是标识符,那么您的语法是正确的,但是那时您不需要{}它.