你们中的任何人都知道为什么Scalaz的例子总是使用这种导入技术:
import scalaz._
import Scalaz._
而不是:
import scalaz.Scalaz._
?我试图了解偏好背后的原因是什么。
谢谢!
答案 0 :(得分:10)
我相信这是因为import scalaz._; import Scalaz._
从scalaz
对象导入scalaz.Scalaz
包和中的所有成员。
如果您只是导入import scalaz.Scalaz._
,那么仅从scalaz.Scalaz
对象导入成员。
答案 1 :(得分:3)
import scalaz._从核心包中导入所有[type]类。
import Scalaz._ import implicits使所有这些类都有用。就像从标准集合到MA的转换以及获取Option包装器等等。
所以你可以使用一个而不是另一个。
我认为这是一个有意识的设计决定,让我们能够在任何类型的隐含相关问题中生存,例如this one。