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[Symbol, Any] があり、キーが上記のリストにないすべてのアイテムを取得しようとしています。このようなもの

@f = @{ map.filterKeys(!list.contains(_)) } 
// i do not know if the above statement is correct, because i can't get over there 
4

3 に答える 3

6

ただインポートがありません。追加した

@import scala.collection.immutable._

あるいは単に

@import scala._

ビュー(scala.html)で、うまくいきました。

パッケージはパッケージscalaのようなものだと思いましたjava.lang

于 2012-07-31T20:52:47.063 に答える
2

あなたがしているように見えることから、あなたはビューファイルの1つにこのコードを書いているように見えます。これをscalaで理解する代わりに、コントローラークラスでこのタスクを処理してから、そのリストをビューファイルに渡す方がよいでしょう。'@'表記を使用してこの種の作業を行うと、注意が必要になります。

于 2012-07-31T19:06:46.067 に答える
-2

次のように、 a のSet代わりに aを使用する必要があると思います。List

@{ map.filterKeys(!Set("a", "b", "c", "d", "e").contains(_)) } 
于 2012-07-31T20:26:43.020 に答える