Size: a a a

2020 September 09

DF

Denis Fakhrtdinov in pro.elixir
При создании эту операцию использовать нельзя, конечно, там же "нет ключей" ещё.
источник

DF

Denis Fakhrtdinov in pro.elixir
1> M = #{foo => bar}.
#{foo => bar}
2> X = bar.
bar
3> Y = baz.
baz
4> M#{foo := X, faz := Y}.
** exception error: {badkey,faz}
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Все ещё не понятно, почему нельзя использовать только =>
источник

DF

Denis Fakhrtdinov in pro.elixir
Потому что ты решил, что сет операций только над существующими ключами тебе не нужен.
источник

DF

Denis Fakhrtdinov in pro.elixir
Каждый раз бегать спрашивать is_key?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ты можешь привести пример, где в зависимости от => или := меняется смысл операции?
источник

DF

Denis Fakhrtdinov in pro.elixir
4> M#{foo := X, faz := Y}.
** exception error: {badkey,faz}
    in function  maps:update/3
       called as maps:update(faz,baz,#{foo => bar})
    in call from erl_eval:'-expr/5-fun-0-'/2 (erl_eval.erl, line 259)
    in call from lists:foldl/3 (lists.erl, line 1263)
5> M#{foo := X, faz => Y}.
#{faz => baz,foo => bar}
источник

DF

Denis Fakhrtdinov in pro.elixir
Я понимаю о чем ты говоришь.
источник

DF

Denis Fakhrtdinov in pro.elixir
Но если бы матчинг производился операцией =>, это было бы нелогично.
источник

DF

Denis Fakhrtdinov in pro.elixir
Потому что нет смысла матчить ключ, которого может не быть.
источник

DF

Denis Fakhrtdinov in pro.elixir
Синтаксически это выглядит правильно, матчить ключ который есть в мапе.
источник

DF

Denis Fakhrtdinov in pro.elixir
Если нет — матчинг фейлз.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
В эликсире нету таких проблем как бы
источник

DF

Denis Fakhrtdinov in pro.elixir
У вас и операции такой нет, видимо.
источник

DF

Denis Fakhrtdinov in pro.elixir
Я не проверял.
источник

DF

Denis Fakhrtdinov in pro.elixir
Энивей, ещё один срач erlang vs elixir.
источник

DF

Denis Fakhrtdinov in pro.elixir
Прошу прощения, если задел ваши синтаксические чувства 🙂
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я все ещё не понимаю смысл 5 строчки
источник

DF

Denis Fakhrtdinov in pro.elixir
>>> To only update an existing value, the following syntax is used,
M#{ K := V }
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Нахуя она нужна может быть я не понимаю
источник