我正在学习斯卡拉,一直在努力学习。阅读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。