Ich schreibe eine Funktion, die scheint, wie es gut funktionieren sollte. Aber ich denke, ich vermisse etwas, das der Kern von Elixier ist. Hier ist, was ich versuche zu tun:Verständnis der benannten Funktionen mit Elixir
defmodule ProjectEuler do
def solve(limit) do
multiple_of_3_or_5? = fn(n) -> (rem(n, 3) == 0 || rem(n, 5) == 0) end
for(n <- limit, multiple_of_3_or_5?.(n), do: n) |> Enum.reduce(0, fn(x, y) -> (x + y) end)
end
def print do
IO.puts solve(1000)
end
end
Dies ist das erste Problem des Projekts Euler. Ich verstehe nicht, warum das keine gültige Nummer zurückgibt? Stattdessen bekomme ich diesen Fehler
** (Protocol.UndefinedError) protocol Enumerable not implemented for 1000
Was mache ich hier falsch?