В настоящее время пытается понять оператор "^" в Эликсире. На веб-сайте:
Оператор булавки ^ может использоваться, когда нет интереса к переплетению переменная, а скорее соответствует ее значению до матч:
Источник - http://elixir-lang.org/getting_started/4.html
С учетом этого вы можете прикрепить новое значение к символу так:
iex> x = 1 # Outputs "1"
iex> x = 2 # Outputs "2"
Я также могу сделать:
iex> x = x + 1 # Outputs "3"!
Итак, мой первый вопрос; Изменены ли переменные Эликсира? Это, конечно, похоже, если это так... Не должно ли это быть возможным на функциональном языке программирования?
Итак, теперь мы приходим к оператору "^" ...
iex> x = 1 # Outputs "1"
iex> x = 2 # Outputs "2"
iex> x = 1 # Outputs "1"
iex> ^x = 2 # "MatchError"
iex> ^x = 1 # Outputs "1"
Я думаю, что эффект "^" заключается в том, чтобы зафиксировать "x" до последнего привязанного к нему значения. Это все? Почему бы просто не обеспечить, чтобы все "совпадения" /назначения были неизменными, как сам Эрланг?
Я просто привык к этому...