泛型的 Scala 中缀表示法



泛型可以在 Scala 中缀符号中使用吗?

例如:

// Example from play-json
Json.obj("name" -> "Joe")  "name" as[String] // Generics in infix notation
// error: type application is not allowed for postfix operators

理想情况下,我想实现如下 API:

Json.obj("name" -> "Joe")  "name" as String // But I think its implossible

当然,使用带括号的标准点表示法可以正常工作:

(Json.obj("name" -> "Joe")  "name").as[String]

我发现的唯一有价值的讨论:https://groups.google.com/forum/#!msg/scalatest-users/Ujn2d2MdXm0/yvHpk1pOlDMJ

中缀表示法只能用于括号,不能用于捕获类型信息的方括号。如果您在 LHS 上给出类型提示,则可以将其删除。

最新更新