8

Play フレームワークの scala ドキュメント ( Play Docs ) を調べているときに、これまでに見たことのない構文を見つけました。

val populations:List[String~Int] = {
  SQL("select * from Country").as( str("name") ~ int("population") * ) 
}

「~」List[String~Int]意味を誰か教えてください。

4

1 に答える 1

22

これが役立つかもしれません:

scala> class ~[A, B]
defined class $tilde

scala> List.empty[String~Int]
res1: List[~[String,Int]] = List()

実際に~は、標準ライブラリの一部ではありません。これは、中置記法を許可する play フレームワークのジェネリック クラスです。scala では、2 つのジェネリック パラメーターを受け取るジェネリック クラスはすべて、中置表記で使用できます。たとえば、次も機能します。

scala> class X[A, B]
defined class X

scala> List.empty[String X Int]
res1: List[X[String,Int]] = List()

あなたの場合、Play フレームワーク API~での定義を見つけることができます。

于 2012-04-13T07:47:07.250 に答える