Tôi đang cố gắng tìm ra hành vi của nhóm chức năng thư việnBởi (từ Data.List), nhằm mục đích nhóm các phần tử của danh sách bằng chức năng "kiểm tra bình đẳng" được chuyển thành đối số đầu tiên. Các loại chữ ký cho thấy rằng các bài kiểm tra bình đẳng chỉ cần có loạiHaskell: hành vi đáng ngạc nhiên của "groupBy"
(a -> a -> Bool)
Tuy nhiên, khi tôi sử dụng (<) là "thử nghiệm bình đẳng" trong GHCi 6.6, kết quả không phải là những gì tôi mong đợi:
ghci> groupBy (<) [1, 2, 3, 2, 4, 1, 5, 9]
[[1,2,3,2,4],[1,5,9]]
Thay vào đó tôi mong đợi chạy của số tăng đúng, như thế này:
[[1,2,3],[2,4],[1,5,9]]
tôi thiếu gì?
Cảm ơn bạn. Tôi đã không nhận ra rằng tài liệu yêu cầu rằng một thử nghiệm bình đẳng là một mối quan hệ tương đương. – Pillsy
Nó không nói rằng nó phải là một mối quan hệ tương đương. Trong thực tế, có những điều hữu ích bạn có thể làm với nó bằng cách sử dụng quan hệ không tương đương. ví dụ. http://stackoverflow.com/questions/930675/functional-paragraphs/930765#930765 – newacct