структур, по сути единственная которая используется это list?
А какие ещё нужно? Есть Map, MapSet, Tuple и всё такое
я бы хотел видеть ясный и понятный array, мне, если в сравнении с другими ФП, не кажется логичным использовать tuple для этого. Может это наследие erlang?
Стандартный массив и иммутабельность плохо совместимы.
Так есть же :array Только вот практически всегда можно ограничиться списком или тупплом
а я не говорил что хочу мутабельный)
А чем тогда простой кортеж не устраивает?
та просто путаницей. Elixir кортеж для массива, Clojure массив как кортеж. Мне кажется кортеж и массив это разные вещи.
Это везде кортеж, и в Clojure и в Elixir
а какую задачу ты хочешь им решить?
получить O(1) на доступ
так O(log n) доступ
есть пруф линк? Не гуглится Даже если так, log n все равно супер быстро
Вроде нет, или это в эрланге так? На сколько я знаю, в эрланге в мапе либо хэшмапа, либо флэтмапа, поэтому поиск либо линейный, либо константный https://www.quora.com/What-is-the-Big-O-for-operations-in-a-Hashmap
https://stackoverflow.com/questions/35677865/is-map-lookup-in-elixir-o1
извините, но я буду считать это слабым аргументом. O(1) != O(log n)
Бери ETS если тебе нужен /O(1) для больших структур
Обсуждают сегодня