如何导入特定的PortNumber构造函数

Thi*_*gri 7 haskell

简单的问题.

这编译:

module Example where

import Network

port :: PortID
port = PortNumber 3001
Run Code Online (Sandbox Code Playgroud)

而这不是:

module Example where

import Network (PortID, PortNumber)

port :: PortID
port = PortNumber 3001
Run Code Online (Sandbox Code Playgroud)

GHC说:

Example.hs:6:8: Not in scope: data constructor `PortNumber'
Run Code Online (Sandbox Code Playgroud)

为什么?

eps*_*lbe 13

它一定要是

import Network (PortID(PortNumber))
Run Code Online (Sandbox Code Playgroud)

作为PortNumber似乎是一个构造函数PortID.另一个导入只是导入所有,Network因此PortNumber被发现.

  • 您可以导入数据类型的所有构造函数,例如`import Network(PortID(..))`. (3认同)