2012-07-06 26 views
7

Câu hỏi đơn giản.Cách nhập phương thức khởi tạo PortNumber cụ thể

này biên dịch:

module Example where 

import Network 

port :: PortID 
port = PortNumber 3001 

Và đây không:

module Example where 

import Network (PortID, PortNumber) 

port :: PortID 
port = PortNumber 3001 

GHC nói:

Example.hs:6:8: Not in scope: data constructor `PortNumber' 

Tại sao?

Trả lời

13

Nó phải được

import Network (PortID(PortNumber)) 

như PortNumber có vẻ là một constructor của PortID. Nhập khác chỉ cần nhập tất cả Network và do đó tìm thấy PortNumber.

+3

Bạn có thể nhập tất cả các hàm tạo của kiểu dữ liệu, ví dụ: 'Mạng nhập (PortID (..))'. – dflemstr

Các vấn đề liên quan