选项上map()的行为

时间:2015-09-20 20:48:27

标签: scala scala-collections scala-option

我试图通过Play Combinators将JSONObject实例映射到实际实例。我能够正确地进行去序列化工作。问题是关于map()如何在Option [JSONObject]上工作的行为。

选项1:

jsonVal: Option[JSONObject] = getAsJson(input)
jsonVal.map(JSONUtil.fromJsonString(_.toString(), Blah.jsonReads))

无法正常工作,无法编译,因为_未正确解析。编译器无法在对象上找到toString()。

选项2:

jsonVal: Option[JSONObject] = getAsJson(input)
jsonVal.map(_.toString()).map(JSONUtil.fromJsonString(_, Blah.jsonReads))

工作!!有人可以告诉我为什么当转换作为函数参数的一部分完成时,不会传播默认变量的类型吗?

0 个答案:

没有答案