и возвращающая результат:
def match(val) do
И нужно добавить обработку списка значений. Возвращается соответственно список результатов.
Как кошернее, добавить клозу
def match(vals) when is_list(vals), do: Enum.map(&match(&1))
или таки отдельной функцией
def match_list(vals), do: Enum.map(&match(&1))
?
Интересует не с точки зрения производительности, а с точки зрения стилистики и вероятных граблей.
Само значение никогда не бывает списком.
Второй вариант с проверкой is_list
То есть отдельной функцией. Насчет гварда is_list, насколько он критичен, если у меня все спеками и диалайзером обмазано?
Смотри сам по наличию дебилов в команде. Это просто защита от глупости.
зависит от того, как ты будешь это использовать. Если сделать guard - не надо будет проверять перед вызовом "а список ли это"
Ну я один в команде, в данный момент :))))
Тогда is_list не надо
В принципе, всегда точно известно список надо проверить или одно значение. На стадии написания кода.
Обсуждают сегодня