1
나는 재미와 이익을 얻지 않고 순수하게 엘릭서 안에있는 매크로를 가지고 놀고있다. :). 그래서 나는 쉼표로 구분 된 문자열을 가지고 있고 동적 인수로 그 목록 함수를 만들려면 즉매크로의 메소드 인자에 elixir 문자열
defmacro __using__(opts) do
args = "a,b,c"
quote do
def test(unquote(args)) do
IO.inspect("#{a},#{b},#{c}")
end
end
end
내가 가진 문제는 생성 방법이 있다는 것입니다 : 분명한 이유 test("1,2,3")
하지 test(1,2,3)
. 그렇다면 어떻게 문자열을 메서드 인수로 변환합니까?
크리스
아마def
의 인수리스트에 주입 할 수있는 더 좋은 방법이지만 뭔가
"a,b,c"
로 변환하는 방법 중 하나는
Code.string_to_quoted!/1
및
unquote_splicing
사용하는 것입니다있다