Мне любопытно, когда я определяю функции, которые должны соответствовать шаблону vs guard.Elixir: Match Match или Guard
Например, при сопоставлении с образцом:
defmodule Exponent do
def power(value, 0), do: 1
def power(value, n), do: value*power(value, n-1)
end
против пункта охраны:
defmodule Exponent do
def power(value, n) when n==0, do: 1
def power(value, n), do: value*power(value, n-1)
end
я имею в виду и тот же результат, но одно решение предпочтительнее, чем другой? И если да, то почему?
Я новичок в Elixir, так что ответ на этот вопрос мне не совсем понятен (пока). Заранее спасибо.
Вы наблюдаете какие-либо различия в производительности в одной конструкции по сравнению с другой? Если вы предпочитаете, чтобы кто-то предпочитал меня, то это отличный пример того, что хочет мнение, если нет разницы в производительности. Голосовать, чтобы закрыть. –
Я честно так новичок, что еще не понял, как даже сравнивать такие вещи ... Я тоже не видел подобных вопросов, поэтому я решил явно спросить. – aren55555
Может быть разница между одной реализацией и другой, но без какого-либо контекста это трудно сказать. Прямо сейчас вы задаете вопрос, аналогичный «что лучше, бананы или клубника?» –