假设我在下面定义了泛型函数:
def convert[R](json: String)(implicit m: Manifest[R]): R =
parse(json).extract[R]
我不确定调用此函数的正确语法是什么?我试过了:
convert(json).asInstanceOf[MyClass]
似乎正确编译但在我尝试提取json时遇到异常。我可以通过定义以下代码来正常工作:
def convert[R](json: String)(cb: R => Unit)(implicit m: Manifest[R]) =
cb(parse(json).extract[R])
然后执行以下操作:
convert(json) { ret: MyClass => // }
但这不是合适的解决方案。
答案 0 :(得分:2)
尝试convert[MyClass](json)
;这是显式指定类型参数的语法。允许通过将类型置于其给定的上下文中来推断类型,例如convert(json): MyClass
,也可以起作用。