Анонимная переменная — переменная, которая не может быть привязана ни к одному значению. Обозначается знаком подчёркивания: _
.
Строго говоря, она и переменной-то не является, потому что всегда находится в одном и том же состоянии — с не привязанным значением.
1> _.
* 1:1: variable '_' is unbound
2> _ = 777.
777
3> _.
* 2:1: variable '_' is unbound
Анонимная переменная активно используется при декомпозиции термов, когда нужно вычленить отдельные элементы, а не все. Это повышает читабельность кода, а также снижает нагрузку на память.
1> Cvet = {110,58,99}.
{110,58,99}
2> {_, Grn, _} = Cvet.
{110,58,99}
3> Grn.
58
Если какая-то переменная не используется, компилятор об этом сообщит, выдав предупреждение. В этот момент следует подумать: не сделать ли переменную анонимной? Если мы в будущем будем использовать переменную и при этом не желаем постоянно читать об этом предупреждения компилятора, можно вместо анонимной переменной использовать обычную, но начинающуюся со знака подчёркивания:
2> {_Red, Grn, _Blu} = Cvet.
К переменным Red и Blu значения будут привязаны, но предупреждения компилятора мы перестанем получать. В дальнейшем, когда начнём использовать Red и Blu, им дадим стандартные названия Red и Blu.
© Алексей Карманов, 2024.