如何在Play框架2 Scala模板中创建列表

4
我希望在模板(scala.html)中创建一个列表。
我已经尝试过:
val list = @{ List("a", "b", "c", "d", "e") }

val list = List("a", "b", "c", "d", "e")

@list = @{ List("a", "b", "c", "d", "e") }

@list = List("a", "b", "c", "d", "e")

@defining(List("a", "b", "c", "d", "e")) { list =>
    // code here
}

但我总是收到错误消息object List is not a value。我不懂Scala(我正在学习),但在API中,它有以下示例。

// Make a list via the companion object factory
val days = List("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")

我希望做的是过滤一个Map。
我有一个Map[Symbol, Any],我正在尝试获取所有键不在上述列表中的项。类似这样的东西。
@f = @{ map.filterKeys(!list.contains(_)) } 
// i do not know if the above statement is correct, because i can't get over there 
3个回答

6
只是缺少一个导入。我添加了。
@import scala.collection.immutable._

或者只是
@import scala._

在视图(scala.html)中正常运行。

我认为scala包就像java.lang包一样。


2

从你所做的事情来看,似乎你正在一个视图文件中编写此代码。与其在Scala中解决这个问题,不如在控制器类中处理此任务,然后将该列表传递给视图文件。使用“@”符号处理此类工作会变得棘手。


-2
我认为你应该使用一个Set而不是List,代码如下:
@{ map.filterKeys(!Set("a", "b", "c", "d", "e").contains(_)) } 

2
如果他得到了“对象Set不是一个值”,那该怎么办? - om-nom-nom
使用Set时,出现“object Set is not a value”的错误。 - pbaris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接