Size: a a a

2020 May 19

AM

Aliaksandr Martsinov... in pro.elixir
источник

PG

Pig Greenest in pro.elixir
Евгений
хреново, что нельзя сматчить туплу произвольной длины, например по первому полю.
для вас придумали списки
источник

Е

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

Е

Евгений in pro.elixir
для нас скорее Record придумали
источник

PG

Pig Greenest in pro.elixir
или трусы, или крестик
источник

IB

Ilya Borovitinov in pro.elixir
Евгений
хреново, что нельзя сматчить туплу произвольной длины, например по первому полю.
А нельзя делать tuple всегда из двух элементов, где вторым будет тапл нужной тебе длины - 1?
источник

Е

Евгений in pro.elixir
Ilya Borovitinov
А нельзя делать tuple всегда из двух элементов, где вторым будет тапл нужной тебе длины - 1?
да, так и сделал в итоге, но матчинг просто туплы было бы круто :)
источник

Е

Евгений in pro.elixir
Pig Greenest
или трусы, или крестик
меньше токсичности :)
источник

PG

Pig Greenest in pro.elixir
может я и токсик, но вы хотите странного
источник

Е

Евгений in pro.elixir
Pig Greenest
может я и токсик, но вы хотите странного
ну а кто мне запретит хотеть? :)
источник

Е

Евгений in pro.elixir
Я вот сильно хочу статической типизации
источник

V

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

Е

Евгений in pro.elixir
V
смысл туплов в том, что не бывает "туплов произвольной длины"
бывают, например is_tuple плевать на длину туплы
источник

Е

Евгений in pro.elixir
также как и elem
источник

V

V in pro.elixir
ну ты ж понял про что я
источник

Е

Евгений in pro.elixir
V
ну ты ж понял про что я
я понял, но не считаю это препятствием для матчинга аналогично спискам
источник

Е

Евгений in pro.elixir
но наверное я и правда хочу странного, синтаксис точно будет странный :))
источник

Е

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

V

V in pro.elixir
допустим язык даёт тебе возможность сделать так
case tuple do
 {:one, *} ->
...

но после первого матчинга тебе потребуется матчить ещё
case tuple do
 {:one, *} ->
   case tuple do
     {:one, :two} -> ...
     {:one, :three, :four} -> ...
   ...

так и матчи сразу
case tuple do
 {:one, :two} ->
 {:one, :three, :four} ->
 ...
источник

Е

Евгений in pro.elixir
V
допустим язык даёт тебе возможность сделать так
case tuple do
 {:one, *} ->
...

но после первого матчинга тебе потребуется матчить ещё
case tuple do
 {:one, *} ->
   case tuple do
     {:one, :two} -> ...
     {:one, :three, :four} -> ...
   ...

так и матчи сразу
case tuple do
 {:one, :two} ->
 {:one, :three, :four} ->
 ...
это частный случай, забей короче.
источник