2012-06-30 37 views

Trả lời

24

Nhập đủ điều kiện làm cho các thực thể được nhập chỉ có sẵn ở dạng đủ điều kiện, ví dụ:

import qualified Data.List 

result :: [Int] 
result = Data.List.sort [3,1,2,4] 

Chỉ với import Data.List, thực thể có sẵn ở dạng đủ điều kiện và ở dạng không đủ tiêu chuẩn. Thông thường, chỉ cần làm một nhập khẩu có trình độ dẫn đến tên quá dài, vì vậy bạn

import qualified Data.List as L 

result :: [Int] 
result = L.sort [3,1,2,4] 

Một nhập khẩu đủ tiêu chuẩn cho phép sử dụng các hàm có cùng tên được nhập khẩu từ một số module, ví dụ map từ Preludemap từ Data.Map.

9

Từ khóa qualified có nghĩa là các biểu tượng trong các mô-đun đã nhập không được nhập vào không gian tên không đủ điều kiện (không có tiền tố). Họ chỉ có sẵn với tên đầy đủ của họ. Ví dụ: foldr' có tên không đủ điều kiện foldr' và tên đủ điều kiện Data.List.foldr'.

Một loại sử dụng nhập khẩu đủ điều kiện để ngăn chặn ô nhiễm không gian tên. Bạn cũng có thể sử dụng import qualified Foo as Bar, nhập từ Foo nhưng có tên như thể nhập có xuất xứ từ Bar. Ví dụ: nếu bạn nhập import qualified Data.List as L, bạn có thể sử dụng foldr' làm L.foldr'.

15

Nếu bạn nhập không đủ tiêu chuẩn (mặc định), bạn có thể tham khảo bất kỳ thứ gì được nhập chỉ bằng tên của nó.

Nếu bạn nhập đủ điều kiện, bạn phải đặt tiền tố tên với mô đun được nhập từ đó.

Ví dụ:

import Data.List (sort) 

Đây là một khẩu không đủ tiêu chuẩn. Giờ đây, bạn có thể nói sort hoặc Data.List.sort.

import qualified Data.List (sort) 

Đây là loại nhập đủ điều kiện. Bây giờ sort của chính nó không hoạt động, và bạn phải nói Data.List.sort.

Bởi vì đó là khá dài, thông thường bạn nói điều gì đó như

import qualified Data.List (sort) as LS 

và bây giờ bạn có thể viết LS.sort, đó là ngắn hơn.

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