用于泛型的Scala中缀表示法

问题描述 投票:0回答:1

可以在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

scala dsl infix-notation
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.