1

假设我在下面定义了通用函数:

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 => // }

但不是合适的解决方案。

4

1 回答 1

2

试试convert[MyClass](json);这是显式指定类型参数的语法。允许通过将类型放在给定它的上下文中来推断类型,例如convert(json): MyClass,也可能有效。

于 2014-12-16T13:35:46.503 回答