Я не могу найти способ сопоставления шаблонов на ключе карты в голове функции. Есть ли способ сделать это? То, что я пытаюсь сделать, это запустить другой код в зависимости от того, существует ли какой-либо ключ на карте или нет (а также нужно избегать if/else и т.п.)
Вот как выглядит мой код
def my_func(key, %{key => _} = map), do: ...
который дает мне эту ошибку
** (CompileError) незаконное использование ключа переменной внутри соответствия ключевому ключу, карты могут соответствовать только существующей переменной с помощью клавиши
Конечно, я также пробовал его с помощью ^
def my_func(key, %{^key => _} = map), do: ...
который затем дает
** (CompileError) несвязанная переменная ^ ключ
Я использую elixir 1.3.1/erlang 19.0 x64 на машине с Windows 8.1. Спасибо за чтение!