可以在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上给出类型提示,则可以删除它。