在浏览 play 框架的 scala 文档(Play Docs)时,我看到了一种我以前从未见过的语法。
val populations:List[String~Int] = {
SQL("select * from Country").as( str("name") ~ int("population") * )
}
谁能告诉我“~”是List[String~Int]
什么意思?
在浏览 play 框架的 scala 文档(Play Docs)时,我看到了一种我以前从未见过的语法。
val populations:List[String~Int] = {
SQL("select * from Country").as( str("name") ~ int("population") * )
}
谁能告诉我“~”是List[String~Int]
什么意思?
这可能会有所帮助:
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 framework API中找到 的定义。