2012-04-13 10 views
8

プレイフレームワークのスカラードキュメント(Play Docs)を見ているうちに、これまで私が見たことのない構文を見ました。List [String〜Int]とは何ですか?

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

誰かが意味 "〜" を何List[String~Int]を教えてくださいませんか?

答えて

22

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

​​

実は、~は、標準ライブラリの一部ではない、これは中置記法を可能にプレイフレームワークから汎用的なクラスです。スカラでは、2つのジェネリックパラメータを取るジェネリッククラスは、インミックス表記で使用できます。例えば、次のようにも動作します:あなたのケースでは

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

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

は、あなたがPlay framework API~の定義があります。

+0

うわー!それは速かった。そして、ありがとう、その例が役立ちます。 – rahul

+0

ようこそ。ところで、必要に応じて回答を受け入れることができます。 ;) – Nicolas

+0

実際、Playクラスではありません。これは、Scala標準ライブラリ(具体的には、パーサーコンビネータライブラリ)に由来します。ここには[scaladoc](http://www.scala-lang.org/api/current/index.html#scala.util.parsing.combinator.Parsers$$tilde)があります。 –

関連する問題