Size: a a a

2021 May 06

ŹR

Źmićer Rubinštejn in pro.elixir
Оно заменяет continue в данном случае
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Набери


iex> h rem


и узнаешь
источник

ŹR

Źmićer Rubinštejn in pro.elixir
В эликсире нету классов
источник

V

V in pro.elixir
так это совсем другая семантика
break - это выход из цикла. средствами list comprehensions этого сделать нельзя
источник

АН

Александр Ниткин... in pro.elixir
Извините меня опять за глупые вопрос, но наверно так работать не будет ( for i <- 1..10, rem(i,3) != 4, do: i
IO.puts(i)
источник

ŹR

Źmićer Rubinštejn in pro.elixir
for i <- 1..10, rem(i,3) != 4, do: IO.puts(i)
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я конечно не знаю что ты делаешь, но выглядит так что ты учишь очень не систематически
источник

АН

Александр Ниткин... in pro.elixir
Спасибо вам за доброту )
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Тока rem(..,3) != 4 не имеет смысла
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Остаток от деления на три никогда не может быть 4
источник

АН

Александр Ниткин... in pro.elixir
понятно значит не будет как с break
источник

ŹR

Źmićer Rubinštejn in pro.elixir
list comprehencion это не цикл. Нельзя выйти из цикла если ты не в цикле
источник

V

V in pro.elixir
можно через рекурсию
def foo([], _), do: nil
def foo([h | t], true), do: foo(t, true)
def foo([h | t], skip \\ false) do
 case h do
   3 -> foo(t, true)
   _ ->
     IO.puts(x)
     foo(t, skip)
 end
end

foo([1,2,3,4,5])
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Для таких случаев пацаны придумали Enum.take_while/2
источник

V

V in pro.elixir
источник

V

V in pro.elixir
но ведь rem(i, 3) никогда не будет 4
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Я скопал пример из какого то туториала по list comprehension
источник

A ß in pro.elixir
кидать что-нибудь
источник

V

V in pro.elixir
одна идея удивительнее другой
источник

A ß in pro.elixir
а чего такого? издревле функциональные языки использовали catch/throw для выхода из цикла или рекурсии
источник