Я работаю над книгой Programming Elixir, и в одном из примеров я получил ошибку компиляции, в которой мне не хватало end
, поэтому я добавил end
, и это сработало ..
Дело в том, что я не могу понять, что это закрывает!
Но это работает! ???
Это странный эликсир? Что происходит?
defmodule Rumbl.Repo do
@moduledoc """
In memory repository
"""
def all(Rumbl.User) do
[%Rumbl.User{id: "1", name: "Jose", username: "josevalim", password: "elixir"},
%Rumbl.User{id: "2", name: "Alison", username: "allygrrl", password: "elixir123"},
%Rumbl.User{id: "3", name: "Susan", username: "susanQ",password: "elixir321"}]
end
def all(_module), do: []
def get(module, id) do
Enum.find all(module), fn map -> map.id == id end
end
def get_by(module, params) do
Enum.find all(module), fn map ->
Enum.all?(params, fn {key, val} -> Map.get(map, key) == val end)
end
end
end