2
"를"defimpl하는 기능을 전달.내가 다음 코드 한 옵션
# constants.ex
defmodule Constants do
@enumerables [List, Map]
def enumerables, do: @enumerables
end
# reversible.ex
import Constants, only: [enumerables: 0]
defprotocol Reversible do
def reverse(term)
end
defimpl Reversible, for: enumerables() do
def reverse(term), do: Enum.reverse(term)
end
그리고 오류가있어 :
== Compilation error in file lib/reversible.ex ==
** (FunctionClauseError) no function clause matching in Module.concat/2
The following arguments were given to Module.concat/2:
# 1
Reversible
# 2
[List, Map]
(elixir) lib/module.ex:562: Module.concat/2
lib/reversible.ex:8: (file)
(elixir) lib/kernel/parallel_compiler.ex:121:
anonymous fn/4 in Kernel.ParallelCompiler.spawn_compilers/1
어떻게이 문제를 해결하기를
그래서 나는이 작업을 수행하려고?
나는 솔루션에서 다시 구현'defimpl'을 포함 할 것이다 생각 어떤 식 으로든 인용문/인용 부호를 어지럽히는 경우. 귀하의 솔루션은 간단하고 깨끗합니다, 감사합니다! –