tgoop.com/cpplastic/358
Create:
Last Update:
Last Update:
Робив задачі одинадцятого дня на Elixir
Зараз же відкинув принциповість, просто сів та почав писати. І мені дуже сподобалося. Це буквально Erlang з нормальним синтаксисом. Дуже подобається пайп |>
(хоча звичайна крапка все одно була б краще, бо одне натискання на клавіатурі замість трьох), подобається зіставлення з шаблоном тощо. Гляньте ось:
def solve_like_noob(iterations) do
data = read_data(@file_path)
1..iterations
|> Enum.reduce(data, fn _, acc ->
acc |> Enum.flat_map(&replace_naïve/1)
end)
|> length()
end
Не обійшлося й без WTF-моментів. Наприклад, функції не можуть бути використані в гардах інших функцій чи в
case
— можна тільки макроси. Мабуть, якась внутрішня специфіка. Але не сильно заважало.Звісно, у моєму випадку писати на Elixir сенсу було не надто багато, бо він не в таких задачах себе найкраще проявляє. Я там намагався трохи погратися з багатьма процесами, але врешті дропнув цей шматок коду. Втім чисто відчути мову мені вистачило. Я подумки це застосував до того, що вже знаю про Erlang, і загальна картина мені подобається — точно не останній мій раз використання Elixir.