Tôi không thể quấn quanh đầu sự khác biệt giữa trình tự và LazyList
. Cả hai đều lười biếng và có khả năng vô hạn. Trong khi seq<'T>
là IEnumerable<'T>
từ .NET framework, LazyList
được bao gồm trong F# PowerPack. Trong thực tế, tôi gặp các chuỗi nhiều hơn thường xuyên hơn LazyList
s.Trình tự so với LazyList
Sự khác biệt của chúng về hiệu suất, mức sử dụng, khả năng đọc, v.v ... là gì? Lý do cho danh tiếng xấu như vậy của LazyList
là gì so với seq
?
+1, tuyệt, tôi không biết về phần bộ nhớ đệm. Bạn có thể đưa ra một ví dụ đòi hỏi cả ngữ nghĩa lười biếng và danh sách? – pad
Traversing một chuỗi trong khi đồng thời truy cập nhiều phần tử có thể được thực hiện với 'seq', nhưng nó sạch hơn nhiều bằng cách sử dụng' LazyList' + pattern matching. – Daniel
Xem ví dụ http://stackoverflow.com/questions/3484315/how-to-merge-sorted-sequences-in-f và http://stackoverflow.com/questions/1306140/f-why-is-using-a-sequence- so-nhiều-chậm-hơn-sử dụng-a-danh sách-trong-ví dụ này/1306267 # 1306267 – Brian