Анонимная переменная

Анонимная переменная — переменная, которая не может быть привязана ни к одному значению. Обозначается знаком подчёркивания: _.

Строго говоря, она и переменной-то не является, потому что всегда находится в одном и том же состоянии — с не привязанным значением.

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.