Size: a a a

2020 November 26

𝕊

𝕊𝕖𝕣𝕘𝕖𝕚... in ErlangRus
Sergey Loguntsov
а теперь другой вопрос .. вот есть мапа .. из одного ключа ..
как мне вытащить этот ключ и его значение без преобразования в лист
maps:fold/3
источник

t

ttt161 in ErlangRus
Ну или тупо, maps:fold
источник

t

ttt161 in ErlangRus
В точку
источник

MS

Mikhail Spiridonov in ErlangRus
источник

SL

Sergey Loguntsov in ErlangRus
нет . у меня тут большой код, который выполняется в maps:fold - но и до этого куча кода ..
у меня есть оптимизация, если мап состоит из одного элемента ... то куча всего уходит не нужного, и хочется чтобы другая ветка функции выполнялась
источник

SL

Sergey Loguntsov in ErlangRus
можно конечно какой case внутри организовать ) но хочется же красиво
источник

t

ttt161 in ErlangRus
Ну гард в свертке
maps:fold(fun() when map_size - ...; () -
источник

SL

Sergey Loguntsov in ErlangRus
ttt161
Ну гард в свертке
maps:fold(fun() when map_size - ...; () -
нет не то
источник

t

ttt161 in ErlangRus
Тебе надо было две ветки и условие, так у тебя есть две ветки, в чем проблема, просто срач устроить? Вперёд
источник

PG

Pig Greenest in ErlangRus
Проблема в том, что если map size = 1, то ключ неизвестен?
источник

t

ttt161 in ErlangRus
Известен, разберись с тем что я предложил
источник

SL

Sergey Loguntsov in ErlangRus
ttt161
Тебе надо было две ветки и условие, так у тебя есть две ветки, в чем проблема, просто срач устроить? Вперёд
я ж написал у меня перед maps:fold еще куча логики
источник

t

ttt161 in ErlangRus
Используй клозы
источник

t

ttt161 in ErlangRus
Если всё это ДО свертки
источник

SL

Sergey Loguntsov in ErlangRus
ну вот . case да .. но красивее гардом . и половина задачи решена )
источник

SL

Sergey Loguntsov in ErlangRus
осталась вторая
источник

SL

Sergey Loguntsov in ErlangRus
ну все просто:
источник

SL

Sergey Loguntsov in ErlangRus
[Key] = maps:keys(Map),
[Value] = maps:values(Map)
источник

SL

Sergey Loguntsov in ErlangRus
ну хотя да . конечно 2 листа )
приходится maps:to_list ) будет 1 с таплом
источник

AB

Alex Bubnov in ErlangRus
Sergey Loguntsov
ну хотя да . конечно 2 листа )
приходится maps:to_list ) будет 1 с таплом
еяпп, с итераторами это можно сделать в одну строку, но не могу сейчас вспомнить точно
источник