Size: a a a

2020 February 27

RP

Roman Pushkov in ErlangRus
мапы ж вообще порядок не гарантируют
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Сергей Иванов
тогда перекачивай через list видимо
Тогда можно сразу брать реализацию на "Кумир"
источник

YZ

Yuri Zhloba in ErlangRus
Źmićer Rubinštejn
ЧЗНХ? Как почнинить?
To list, sort, to map. Но чинить это не надо :)
источник

СИ

Сергей Иванов in ErlangRus
Yuri Zhloba
To list, sort, to map. Но чинить это не надо :)
а ему не поможет же, только кодировать из list
источник

SP

Sergey Prokhorov in ErlangRus
https://erlang.org/doc/man/erl_nif.html#enif_map_iterator_create
> The key-value pairs of a map have no defined iteration order. The only guarantee is that the iteration order of a single map instance is preserved during the lifetime of the environment that the map belongs to.
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Сергей Иванов
а ему не поможет же, только кодировать из list
Если в map не возвращать - сработает
источник

YZ

Yuri Zhloba in ErlangRus
To orddict :)
источник

PG

Pïg Grëënëst in ErlangRus
Yuri Zhloba
To list, sort, to map. Но чинить это не надо :)
удваиваю 🌚
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Sergey Prokhorov
https://erlang.org/doc/man/erl_nif.html#enif_map_iterator_create
> The key-value pairs of a map have no defined iteration order. The only guarantee is that the iteration order of a single map instance is preserved during the lifetime of the environment that the map belongs to.
Честно говоря, оно всегда упорядывачивает ключи
источник

SP

Sergey Prokhorov in ErlangRus
думаю зависит от размера map
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Хз что там с гарантиями, но у меня ни разу не было чтобы было по другому
источник

YZ

Yuri Zhloba in ErlangRus
Кстати, можно, наверное, подхачить pretty print, который форматирует терм при выводе на консоль.
источник

ŹR

Źmićer Rubinštejn in ErlangRus
iex(1)> Jason.encode(%{a: 1, b: 2})
{:ok, "{\"a\":1,\"b\":2}"}
iex(2)> Jason.encode(%{b: 1, a: 2})
{:ok, "{\"a\":2,\"b\":1}"}
iex(3)> Jason.encode(%{b: 1, a: 2, c: 3})
{:ok, "{\"a\":2,\"b\":1,\"c\":3}"}
источник

SP

Sergey Prokhorov in ErlangRus
там же в зависимости от размера map его внутреннее представленгие меняется с массива на tree динамически
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Sergey Prokhorov
там же в зависимости от размера map его внутреннее представленгие меняется с массива на tree динамически
Ща проверим. Сколько надо размер?
источник

SP

Sergey Prokhorov in ErlangRus
вроде 64
источник

SP

Sergey Prokhorov in ErlangRus
32
источник

SP

Sergey Prokhorov in ErlangRus
источник

A

Alexxz a15e in ErlangRus
Я не спец в библиотеках. Пишу просто от имени здравого смысла. Ведь структура map и tree имеют схожий интерфей работы с контейнером. Только tree имеет еще и возможность сравнения элементов. Тогда в теории выглядит так что надо сделать tree подходящим контейнером и пользоваться его процедурой обхода элементов. Канонично, но покодить придется... 8)
источник

A

Alexxz a15e in ErlangRus
Возможно, что уже все реализовано и надо просто грепать tree в документации 8)
источник