7

你们有谁知道为什么 Scalaz 的示例总是使用这种导入技术:

import scalaz._
import Scalaz._

而不是:

import scalaz.Scalaz._

? 我试图了解偏好背后的原因是什么。

谢谢!

4

2 回答 2

10

我相信这是因为从包对象中import scalaz._; import Scalaz._导入所有成员。scalazscalaz.Scalaz

如果您只是 import import scalaz.Scalaz._,那么您scalaz.Scalaz对象中导入成员。

于 2011-10-19T17:08:32.203 回答
3

import scalaz._ 从核心包中导入所有 [type] 类。

import Scalaz._ 导入使所有这些类有用的隐式。比如从标准集合到 MA 的转换以及获取 Option 包装器等等。

因此,您可以使用一个而不使用另一个。

我相信这是一个有意识的设计决定,让我们能够在任何类型的隐含相关问题中幸存下来,比如这个

于 2011-10-20T14:51:36.457 回答