Tôi mới dùng Haskell và tôi đang cố gắng viết một danh sách để tính toán tần suất của từng giá trị riêng biệt trong danh sách, nhưng tôi đang gặp sự cố phần cuối cùng ..Haskell - Đếm số lần mỗi phần tử khác nhau trong danh sách xảy ra
Cho đến nay tôi có điều này:
frequency :: Eq a => [a] -> [(Int,a)]
frequency list = [(count y list,y) | y <- rmdups ]
Cái gì là sai với phần cuối cùng liên quan đến rmdups.
Chức năng đếm mất một nhân vật và sau đó một danh sách các nhân vật và cho bạn biết mức độ thường xuyên nhân vật đó xảy ra, các mã như sau ..
count :: Eq a => a -> [a] -> Int
count x [] = 0
count x (y:ys) | x==y = 1+(count x ys)
| otherwise = count x ys
Thank-you trước.
Vì vậy, "cái gì là sai với phần liên quan đến rmdups cuối cùng" nhưng bạn không cho chúng tôi biết là sai, những gì (nếu có) thông báo lỗi hoặc đầu ra bạn nhận được, và bạn không hiển thị định nghĩa (hoặc thậm chí chỉ là kiểu) của 'rmdups'. Chúng ta phải trả lời như thế nào? – delnan
Xin lỗi tôi đã viết rmdups trong đó khi tôi thực sự có nghĩa là nub – user1353742