无法理解参数化类型

时间:2015-11-25 13:27:39

标签: scala parameterized-types

我正在学习斯卡拉,一直在努力学习。阅读scala编程书之后,我正在阅读几个项目的源代码,同时自己尝试一些例子。

我真的很难理解这种方法的作用。我知道这定义了一个Json值,例如type:value或者其他东西。

并且它还期望参数化的T是Product(< :)的子类型,它使用主题标签的方式对我来说是完全神奇的。我无法理解它的含义。

def jsonFormat1[[#P1 :JF#], T <: Product :ClassManifest](construct: ([#P1#]) => T): RootJsonFormat[T] = {
    val Array([#p1#]) = extractFieldNames(classManifest[T])
    jsonFormat(construct, [#p1#])
}

Here is the Full Source for the trait, you might need it to fully understand

PS:这个例子来自项目spray-json。

0 个答案:

没有答案