Size: a a a

2021 February 18

((

(fun () -> ()) in pro.elixir
Евгений
Стандартный массив и иммутабельность плохо совместимы.
а я не говорил что хочу мутабельный)
источник

Е

Евгений in pro.elixir
(fun () -> ())
а я не говорил что хочу мутабельный)
А чем тогда простой кортеж не устраивает?
источник

LL

Lama Lover in pro.elixir
Евгений
Возможно были какие-то причины. Но по скорости доступа к полям и места в памяти структуры сильно проигрывают рекордам.
Зато структуры более полиморфные
Например, в рекордах не совсем ясно как достать id
В структуре это всегда будет %{id: id}
источник

((

(fun () -> ()) in pro.elixir
Евгений
А чем тогда простой кортеж не устраивает?
та просто путаницей. Elixir кортеж для массива, Clojure массив как кортеж. Мне кажется кортеж и массив  это разные вещи.
источник

LL

Lama Lover in pro.elixir
(fun () -> ())
та просто путаницей. Elixir кортеж для массива, Clojure массив как кортеж. Мне кажется кортеж и массив  это разные вещи.
Это везде кортеж, и в Clojure и в Elixir
источник

((

(fun () -> ()) in pro.elixir
в кложуре нет кортежа
источник

LL

Lama Lover in pro.elixir
В Clojure массив очень похож на эрланговский array
источник

((

(fun () -> ()) in pro.elixir
Lama Lover
В Clojure массив очень похож на эрланговский array
я ж не спорю что жить можно. Просто зачем запутывать)
источник

LL

Lama Lover in pro.elixir
(fun () -> ())
я ж не спорю что жить можно. Просто зачем запутывать)
Так никто и не запутывает
В Elixir массив это :array, кортеж это tuple
источник

((

(fun () -> ()) in pro.elixir
Lama Lover
Так никто и не запутывает
В Elixir массив это :array, кортеж это tuple
этого принципа и другие придерживаются? то есть читая чужой код я буду видеть :array?
источник

LL

Lama Lover in pro.elixir
А про "мутабельный массив" — это не совсем понятно
Ты хочешь чтобы в рамках одного процесса был мутабельный массив — такого нет, это невозможно без нифов, да и я бы не советовал
Ты хочешь, чтобы просто был массив в котором можно быстро менять элементы и ты всегда используешь только последнюю версию? Бери tuple, потому что в любом языке можно использовать tuple как массив, тут никто понятия не путает
Ты хочешь делить этот массив между процессами? Смотри на :ets
источник

((

(fun () -> ()) in pro.elixir
Спасибо

>Бери tuple, потому что в любом языке можно использовать tuple как массив
Я думаю ты ошибаешься что в любом. Может в любом ты имеешь ввиду Clojure и Elixir?
источник

LL

Lama Lover in pro.elixir
(fun () -> ())
Спасибо

>Бери tuple, потому что в любом языке можно использовать tuple как массив
Я думаю ты ошибаешься что в любом. Может в любом ты имеешь ввиду Clojure и Elixir?
Да нет, даже в python, даже в C, даже небо, даже Аллах
источник

((

(fun () -> ()) in pro.elixir
Lama Lover
Да нет, даже в python, даже в C, даже небо, даже Аллах
что насчёт C#/F#?
источник

((

(fun () -> ()) in pro.elixir
та и в Scala я не думаю что это норма, если рядом лежит Array
источник

LL

Lama Lover in pro.elixir
(fun () -> ())
что насчёт C#/F#?
Я не понимаю о чём этот разговор
источник

((

(fun () -> ()) in pro.elixir
Lama Lover
Я не понимаю о чём этот разговор
Бери tuple, потому что в любом языке можно использовать tuple как массив, тут никто понятия не путает
источник

LL

Lama Lover in pro.elixir
(fun () -> ())
Бери tuple, потому что в любом языке можно использовать tuple как массив, тут никто понятия не путает
Ты в любом языке можешь использовать tuple в качестве массива, если ты хранишь только последнюю версию и все операции это getelement и setelement
источник

((

(fun () -> ()) in pro.elixir
Lama Lover
Ты в любом языке можешь использовать tuple в качестве массива, если ты хранишь только последнюю версию и все операции это getelement и setelement
ну что же, в любом так в любом
источник

LL

Lama Lover in pro.elixir
(fun () -> ())
Бери tuple, потому что в любом языке можно использовать tuple как массив, тут никто понятия не путает
Проблема в том, что ты вырвал мои слова из контекста
источник