Size: a a a

2021 February 18

ŹR

Źmićer Rubinštejn in pro.elixir
И ищутся соответственно тоже
источник

AP

Andrey Pavlov in pro.elixir
Мне кажется если нужны зачем-то эрланговские рекорды то можно их заюзать через эрланг напрямую, криво конечно, но "любую стенку так можно приподнять"
источник

AN

Alexey Novoselov in pro.elixir
ну да, есть специальный модуль Record даже для них
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Вот и получается, что эликсир - язык сделанный специально для того, чтобы просто ходить в базу….
источник

AN

Alexey Novoselov in pro.elixir
Źmićer Rubinštejn
Вот и получается, что эликсир - язык сделанный специально для того, чтобы просто ходить в базу….
ну да, хотите ets берите {:ecto3_mnesia, "~> 0.2.0"} ))
источник

LL

Lama Lover in pro.elixir
Źmićer Rubinštejn
Других минусов не вижу
Ну я же писал мол полиморфизм.
Как вот сделать на рекордах что-то типа
def func(%{id: id, name: name}) do
 ...
end
Непонятно, потому что в компайле будет не известно что там за рекорд и какие у него поля там лежат
источник

Е

Евгений in pro.elixir
Lama Lover
Ну я же писал мол полиморфизм.
Как вот сделать на рекордах что-то типа
def func(%{id: id, name: name}) do
 ...
end
Непонятно, потому что в компайле будет не известно что там за рекорд и какие у него поля там лежат
Дык первый элемент рекорда - его тип, из него и доставать все что надо в рантайме. Но обращение к полям структур практически всегда идет по имени известному в компайл-тайм, что позволяет легко оптимизировать доступ к ним.
источник

Е

Евгений in pro.elixir
В структурах же есть поле __struct__, что мешает сделать его аналог в рекордах?
источник

LL

Lama Lover in pro.elixir
Евгений
Дык первый элемент рекорда - его тип, из него и доставать все что надо в рантайме. Но обращение к полям структур практически всегда идет по имени известному в компайл-тайм, что позволяет легко оптимизировать доступ к ним.
Ну вот как ты напишешь тот кусок кода, что я скинул не на мапе, а на рекорде?
Тут будет либо лишний apply, либо матчинг по имени структуры
источник

Е

Евгений in pro.elixir
Lama Lover
Ну вот как ты напишешь тот кусок кода, что я скинул не на мапе, а на рекорде?
Тут будет либо лишний apply, либо матчинг по имени структуры
Это вопрос синтаксиса, а не принципиальной возможности. Сейчас такое пишется через соответствующее макро, что не очень удобно.
источник

AN

Alexey Novoselov in pro.elixir
Евгений
В структурах же есть поле __struct__, что мешает сделать его аналог в рекордах?
чтобы изменить рекорды, нужно открывать мр в erlang/OTP. А его с вероятностью 99.9% режектнут, а если и примут, то лет через 5-10, не раньше
источник

Е

Евгений in pro.elixir
Alexey Novoselov
чтобы изменить рекорды, нужно открывать мр в erlang/OTP. А его с вероятностью 99.9% режектнут, а если и примут, то лет через 5-10, не раньше
Мы не про эрланг, а про эликсир. И лично я скорее не о структурах на рекордах, а о структурах на кортежах.
источник

AP

Andrey Pavlov in pro.elixir
рекорд и так кортеж
источник

Е

Евгений in pro.elixir
Но в целом это разговоры в пользу бедных, никто ничего сейчас уже не будет менять.
источник

Е

Евгений in pro.elixir
Andrey Pavlov
рекорд и так кортеж
Да, но не всякий кортеж - это рекорд.
источник

LL

Lama Lover in pro.elixir
Евгений
Это вопрос синтаксиса, а не принципиальной возможности. Сейчас такое пишется через соответствующее макро, что не очень удобно.
Да нет, матчинг бы просто тогда стал линейным с перебором, вместо оптимизированного как сейчас
источник

B

Bogdan in pro.elixir
Что значит рекорд?
источник

DF

Denis Fakhrtdinov in pro.elixir
Lama Lover
Ну я же писал мол полиморфизм.
Как вот сделать на рекордах что-то типа
def func(%{id: id, name: name}) do
 ...
end
Непонятно, потому что в компайле будет не известно что там за рекорд и какие у него поля там лежат
По какой-то причине в эликсир не завезли матчинг на рекорды.
источник

DF

Denis Fakhrtdinov in pro.elixir
Тут вопрос к Валиму, полагаю.
источник

DF

Denis Fakhrtdinov in pro.elixir
К нему вообще много вопросов.
источник