câu hỏi này là từ người mới sử dụng Haskell."Id" trong mã Haskell này có nghĩa là gì?
Tôi viết mã bên dưới để kiểm tra số lượng True
trong danh sách và nếu số này có even
số True
, sau đó trả lại True
, nếu không trả về `False '.
xor =
foldr xor' False
where
xor' True True = False
xor' False False = False
xor' _ _ = True
Tuy nhiên, tôi tìm thấy một số đoạn mã dưới đây, và có vẻ như nó có thể làm điều tương tự .. Đây là mã:
xor :: [Bool] -> Bool
xor = odd . length . filter id
Nhưng tôi chỉ không có ý tưởng như thế nào id
công trình trong đoạn code trên, bất cứ ai có thể cho tôi một số trợ giúp?
Đây là chức năng nhận dạng: https://www.haskell.org/hoogle/?hoogle=id –
'id' chỉ là chức năng nhận dạng. 'filter id' giống với' filter (== True) '- nó chỉ loại bỏ các phần tử' False'. – user2407038
Tôi tự hỏi ai sẽ downvote câu hỏi này hoàn toàn tốt (cho người mới bắt đầu) - guys chúng ta nên giữ cho nhóm Haskell cực kỳ tích cực thân thiện! – Carsten