2012-03-23 53 views
5

Có cách nào được chấp nhận chung để chuyển đổi một Data.Sequence (Seq a) thành một danh sách [a]?Chuyển đổi Data.Sequence thành một danh sách?

tôi thấy có một fromList, nhưng không có ToList

+6

Tôi sẽ dạy bạn cách câu cá: Nếu bạn truy cập [Hoogle] (http: //www.haskell.org/hoogle/) và tìm kiếm ['Seq a -> [a]'] (http://www.haskell.org/hoogle/?hoogle=Seq+a+-%3E+%5Ba% 5D) (chữ ký kiểu của hàm bạn muốn), lần truy cập đầu tiên là hàm dbaupp của 'toList'. Hoogle không phải lúc nào cũng có thể tìm thấy thứ bạn muốn, nhưng nó luôn đáng để kiểm tra. – dave4420

Trả lời

14

Có một trường hợp Foldable cho Seq a, và điều này cung cấp một phương pháp toList. ví dụ. điều này sẽ in [1,2,3,4,5,6,7,8,9,10]

import Data.Foldable (toList) 
import Data.Sequence (fromList) 

main = print . toList . fromList $ [1..10] 
+2

Phần quan trọng nhất của câu trả lời này là: Đừng bỏ qua các danh sách cá thể! Chúng thường thực sự quan trọng đối với API đầy đủ cho một loại. – Carl

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