Tôi tò mò khi tôi nên sử dụng mẫu khớp với mệnh đề bảo vệ khi xác định hàm.Elixir: Pattern Match hoặc Guard
Ví dụ với mô hình kết hợp:
defmodule Exponent do
def power(value, 0), do: 1
def power(value, n), do: value*power(value, n-1)
end
vs bảo vệ khoản:
defmodule Exponent do
def power(value, n) when n==0, do: 1
def power(value, n), do: value*power(value, n-1)
end
Ý tôi là cả hai tạo ra kết quả tương tự nhưng là một giải pháp ưa thích hơn người kia? Và nếu vậy tại sao?
Tôi là người mới đến Elixir, do đó, câu trả lời cho câu hỏi này không dễ dàng đối với tôi (chưa). Cảm ơn trước.
Bạn có quan sát thấy bất kỳ khác biệt hiệu suất nào trong một cấu trúc so với cấu trúc kia không? Hỏi xem một người có được ưu tiên hơn những người khác đánh tôi như một ví dụ tuyệt vời về câu hỏi muốn có ý kiến nếu không có sự khác biệt về hiệu suất. Bỏ phiếu để đóng. –
Tôi thực sự rất mới Tôi chưa khám phá ra cách để chuẩn bị loại điều này ... Tôi cũng không thấy những câu hỏi tương tự nên tôi quyết định hỏi một cách rõ ràng. – aren55555
Có thể có sự khác biệt giữa triển khai thực hiện này và triển khai khác nhưng không có bất kỳ ngữ cảnh nào khó nói. Ngay bây giờ bạn đang hỏi một câu hỏi tương tự như "tốt hơn, chuối hay dâu tây?" –