Tôi đã sử dụng erlang trong quá khứ và nó có một số thứ thực sự hữu ích như chức năng khớp mẫu hoặc "bảo vệ chức năng". Ví dụ từ tài liệu erlang là:Chức năng khớp mẫu trong Clojure?
fact(N) when N>0 ->
N * fact(N-1);
fact(0) ->
1.
Nhưng điều này có thể được mở rộng đến một ví dụ phức tạp hơn nhiều nơi dưới dạng tham số và giá trị bên trong nó được kết hợp.
Có điều gì tương tự trong clojure không?
Đây là một câu hỏi cũ nhưng điều này dự án mở rộng core.match cho các chức năng và gần như chính xác những gì tôi đã hỏi năm trước https://github.com/killme2008/defun – mikkom