Tôi dường như nhớ phiên bản cũ hơn của F # cho phép phân hủy cấu trúc khi kết hợp chuỗi giống như danh sách. Có cách nào để sử dụng cú pháp danh sách trong khi vẫn giữ trình tự lười biếng không? Tôi hy vọng sẽ tránh được rất nhiều cuộc gọi đến Seq.head và Seq.skip 1.Có thể kết hợp với các chuỗi bị phân tách trong F # không?
Tôi hy vọng cho một cái gì đó như:
let decomposable (xs:seq<'a>) =
match xs with
| h :: t -> true
| _ -> false
seq{ 1..100 } |> decomposable
Nhưng điều này chỉ xử lý danh sách và đưa ra một lỗi khi loại sử dụng trình tự. Khi sử dụng List.of_seq, có vẻ như để đánh giá tất cả các phần tử trong chuỗi, ngay cả khi nó là vô hạn.
liên kết ở đây cho bất kỳ ai (như tôi) không biết gói nguồn là gì: http://fsharppowerpack.codeplex.com/ – gatoatigrado