我需要使用scalaz中的EqualsOps(===),但是导入scalaz.Scalaz._会给我一个与anorm的get方法的命名冲突。
以下是编译错误:
reference to get is ambiguous;
[error] it is imported twice in the same scope by
[error] import scalaz.Scalaz._
[error] and import anorm.SqlParser._
如何在不引起与anorm冲突的情况下将===带入范围?
答案 0 :(得分:5)
删除import scalaz.Scalaz._
假设您正在比较基元,
import scalaz._
import std.anyVal._
import syntax.equal._
如果是其他内容,请说出字符串,请将std.anyVal._
替换为std.string._
。
基本上,第一行为您提供了各种scalaz类型(如果您不想这样,请将std
替换为scalaz.std
,将语法替换为scalaz.syntax
)。
第2行为您提供了基元的隐式转换。这使您可以将基元视为Equal
,或者实际上将其视为任何其他标量类型,(Monoid
等)
第3行为您提供了EqualOps
,您可以将===
语法与Equal
的内容结合使用。
希望有所帮助