=
в шаблоне используется для псевдонима, он в основном позволяет вам иметь свой торт и есть его. Он выполняет сопоставление с обычным шаблоном и привязывает переменную ко всем сопоставленным данным. Это практично, если вам нужны все данные, так как это избавляет вас от необходимости восстанавливать их. Вы можете использовать его в любом месте шаблона. Это не имеет ничего общего с охраной.
Запуск переменной с _
, как в _LocalPath
, также говорит компилятору, чтобы он не жаловался, если эта переменная не используется. Обычно компилятор немного скулит, если вы связываете переменные и не используете их. Кроме этого, нет ничего особенного в переменных, имена которых начинаются с _
, вы можете использовать их так же, как и любую переменную.
Единственная действительно специальная переменная - _
, анонимная переменная. Он всегда совпадает и никогда не связывается, поэтому вы можете использовать его в качестве анонимного заполнителя. Вот почему он существует в первую очередь.
Лично я очень редко использую переменные, начинающиеся с _
, и предпочитаю использовать просто _
. Я также чувствую, что засорение шаблонов ненужными вещами - это плохая вещь, поэтому я не буду использовать псевдонимы для подобной документации. Я бы написал:
%% process(LocalPath, Request) -> ... .
process(["world"], _) ->
или, возможно, объявление типа, если вы предпочитаете. Думаю, код будет короче и понятнее.